github-api – GitHub API – 获取repo的分支数量而不列出其所有分支

我目前正在使用 GitHub API v3编写一个小项目.

我一直在根据repo包含的分支数进行计算.我似乎无法在没有请求list all the branches of that repo的情况下找到这样做的方法.需要请求repo的分支会增加不必要的运行时间,特别是在处理数百个repos时,每个包含数十个分支.

显然缺乏这样做的能力让我感到意外,因为通过这样做可以轻松获得一个非常类似的操作,获得组织的回购数量:

> Get an organization.例如使用适当的GitHub authentication credentials获取https://api.github.com/orgs/cloudify-cosmo.
>假设身份验证成功,在响应正文中有两个名为public_repos和total_private_repos的字段
>要获取repos的数量,只需添加这两个字段的值即可.

那么,我错过了什么吗?是否有一种类似方便的方式(或任何方式)获得回购的分支数量而不必列出其分支?

目前没有这样的属性.

但是,您可以使用一个巧妙的技巧来避免获取所有页面.如果将per_page设置为1,则每个页面将包含1个项目,页面数量(由最后一页显示)也会告诉您项目总数:

https://developer.github.com/v3/#pagination

因此,只需一个请求 – 您就可以获得分支的总数.例如,如果您获取此URL并检查链接标头:

https://api.github.com/repos/github/linguist/branches?per_page=1

然后你会注意到Link头是:

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.

希望这可以帮助.

本站公众号
   欢迎关注本站公众号,获取更多程序园信息
开发小院