如何使用GitHub API获取提交总数

Ija*_*han 5 github github-api

我试图在GitHub上收集有关我们项目存储库的一些统计信息.我能够获得每个贡献者的提交总数,但它是默认分支.

curl https://api.github.com/repos/cms-sw/cmssw/stats/contributors

问题是,如何为非默认分支获取相同的信息,我可以在其中指定分支名称.使用GitHub API可以进行任何此类操作吗?

谢谢.

bsw*_*ton 0

您应该能够使用GitHub 的 GraphQL API来获取此数据,尽管它不会为您聚合。

在GraphQL Explorer中尝试以下查询:

query($owner:String!, $name:String!) {
  repository(owner:$owner,name:$name) {
    refs(first:30, refPrefix:"refs/heads/") {
      edges {
        cursor
        node {
          name
          target {
            ... on Commit {
              history(first:30) {
                edges {
                  cursor
                  node {
                    author {
                      email
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有了这些变量:

{
  "owner": "rails",
  "name": "rails"
}
Run Code Online (Sandbox Code Playgroud)

这将列出给定存储库中每个分支的每个提交的每个作者电子邮件。您可以对数据进行分页(在参数cursor: "b7aa251234357f7ddddccabcbce332af39dd95f6"后面添加类似内容first:30)。您还必须汇总您这边的计数。

希望这可以帮助。