高效检索所有GitHub提交的统计信息

5

是否有更高效的方法来获取与提交相关的添加/删除的计数,而不是循环遍历每个提交并调用:

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调用才能获取它。

2个回答

4

VonC感谢您的回复 - 我会看一下,但是它似乎还在预览阶段,我们真正需要的是已经投入生产的东西。因此,我仍然认为使用当前的GitHub API是不可能实现的。 - chrisb
1
@chrisb 是的,目前使用当前的GitHub API似乎不可能实现。 - VonC

2
现在可以使用GraphQL API获取提交统计信息添加删除更改文件计数):

要获取默认分支上前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
                }
              }
            }
          }
        }
      }
    }
  }
}

在浏览器中尝试一下


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接