GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?
Posted
技术标签:
【中文标题】GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?【英文标题】:GitHub's GraphQL API: How can I get all of the commits I've contributed to a particular public repo? 【发布时间】:2019-07-12 10:18:55 【问题描述】:我正在尝试查询 GitHub 的 GraphQL API (v4)。此 API 的哪个 GraphQL 查询可用于获取我对特定公共存储库所做的所有提交?
【问题讨论】:
【参考方案1】:我想出了解决办法。 (下面显示的解决方案是用于从master
获取相关提交,但可以很容易地适应其他qualifiedName
值。)
首先,执行初始查询以获取用户 ID:
query
viewer
id
然后可以使用以下查询来获取对特定存储库的所有贡献提交:
query($repository_owner:String!, $repository_name:String!, $user_id:ID!)
repository(owner: $repository_owner, name: $repository_name)
ref(qualifiedName: "master")
target
... on Commit
history(author: id: $user_id)
totalCount
nodes
id
authoredDate
message
查询变量采用以下形式:
"repository_owner": "REPOSITORY_OWNER_STRING",
"repository_name": "REPOSITORY_NAME_STRING",
"user_id": "USER_ID_FROM_STEP_1"
【讨论】:
以上是关于GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?的主要内容,如果未能解决你的问题,请参考以下文章
GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?
Github GraphQL API:如何收集特定用户的存储库?
使用graphql github api通过Id获取提交信息
如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用