我正在尝试查询 GitHub 的 GraphQL API (v4)。这个 API 的 GraphQL 查询可以用来获取我对特定公共 repo 所做的所有提交?
1 回答
2
我想出了解决方案。(下面显示的解决方案用于从 获取相关提交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"
}
于 2019-02-19T02:01:38.830 回答