我目前正在使用 GitHub API v3 编写一个小项目。
我一直在根据 repo 包含的分支数量进行计算。如果不同时请求 list all the branches of that repo ,我似乎无法找到一种方法。需要请求 repo 的分支会增加不必要的运行时间,尤其是在处理数百个 repo 时,每个 repo 包含数十个分支。
明显缺乏这样做的能力让我感到惊讶,因为通过这样做很容易获得一个非常相似的操作,获取组织的 repo 数量:
GET https://api.github.com/orgs/cloudify-cosmo
,使用正确的GitHub authentication credentials。 public_repos
和 total_private_repos
那么,我错过了什么吗?是否有类似方便的方式(或任何方式)来获取 repo 的分支数量而不必列出其分支?
最佳答案
目前没有这样的属性。
但是,您可以使用一个巧妙的技巧来避免获取所有页面。如果您将 per_page
设置为 1
,那么每个页面将包含 1 个项目,并且页数(由最后一页显示)也会告诉您项目的总数:
https://developer.github.com/v3/#pagination
因此,只需一个请求——您就可以获得分支的总数。例如,如果您获取此URL并检查Link header :
https://api.github.com/repos/github/linguist/branches?per_page=1
然后你会注意到
Link
header 是:Link: <https://api.github.com/repositories/1725199/branches?per_page=1&page=2>; rel="next", <https://api.github.com/repositories/1725199/branches?per_page=1&page=28>; rel="last"
这告诉您结果有 28 页,并且因为每页有一个项目 - 分支总数为 28。
希望这可以帮助。
关于github-api - GitHub API - 在不列出所有分支的情况下获取 repo 的分支数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33242631/