是否有更有效的方法来获取与提交相关的添加/删除计数,而不是循环每次提交并调用:
GET /repos/:owner/:repo/commits/:sha
(https://developer.github.com/v3/repos/commits/)
得到:
"stats": {
"additions": 104,
"deletions": 4,
"total": 108
},
数据?
不幸的是提交端点:
GET /repos/:owner/:repo/commits
包含有关每次提交的大量数据,但不包含此详细信息,这意味着要获得大量额外的API调用。
答案 0 :(得分:3)
每当您需要多个GitHub API查询时,请检查 GraphQL (introduced by GitHub last Sept. 2016)是否允许您在一个查询中获取所有这些提交
您可以看到examples here并申请GitHub GraphQL early access,但这是唯一可以获得的方式:
答案 1 :(得分:0)
现在可以使用commit stats获取GraphQL API(additions
,deletions
& changedFiles
次):
获取默认分支上第一次提交100次的提交统计信息:
{
repository(owner: "google", name: "gson") {
defaultBranchRef {
name
target {
... on Commit {
id
history(first: 100) {
nodes {
oid
message
additions
deletions
changedFiles
}
}
}
}
}
}
}
要获取前10个分支的提交统计信息,请为每个分支的100个首次提交获取:
{
repository(owner: "google", name: "gson") {
refs(first: 10, refPrefix: "refs/heads/") {
edges {
node {
name
target {
... on Commit {
id
history(first: 100) {
nodes {
oid
message
additions
deletions
changedFiles
}
}
}
}
}
}
}
}
}