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

时间:2016-11-14 14:20:28

标签: github github-api

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

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

您应该可以使用GitHub's 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
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

使用这些变量:

{
  "owner": "rails",
  "name": "rails"
}

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

希望这有帮助。