列出组织的所有 GitHub 企业存储库

Posted

技术标签:

【中文标题】列出组织的所有 GitHub 企业存储库【英文标题】:List ALL GitHub enterprise repos for an organization 【发布时间】:2021-06-17 01:56:00 【问题描述】:

我的私人 github 企业 https://my.company.url/my_sub_org 有大约 250 个 repos

我要列出的。

我试过了

$ curl -sX GET -H "Authorization: token $mytoken" https://my.company.url/api/v3/orgs/my_sub_org/repos?per_page=200| grep ssh_url | awk -F': ' 'print $2'

但它只返回 100 个与此处 https://docs.github.com/en/rest/reference/repos#list-organization-repositories 的文档匹配的文件。

我也试过

gh 仓库列表

但只返回我拥有的东西

gh repo my.company.url/my_sub_org

没有结果。

我如何列出所有的 repos?

【问题讨论】:

【参考方案1】:

我还不能发表评论,但在那个文档中,它说 per_page 是“每页的结果(最多 100 个)”,而 page 是“要获取的结果的页码”所以也许你需要一个循环只是遍历不同的页面?

编辑 1:Github 有一个关于 traversing with pagination 的指南

【讨论】:

您能分享一下修改后的查询是什么样子的吗?我试过curl -sX GET -H "Authorization: token $mytoken" https://my.company.url/api/v3/orgs/my_sub_org/repos?per_page=200?page=2| grep ssh_url | awk -F': ' 'print $2',但没有返回任何结果。 我其实不是很确定,但也许不是? 而是使用&,所以它会像:curl -sX GET -H "Authorization: token $mytoken" https://my.company.url/api/v3/orgs/my_sub_org/repos?per_page=200&page=2| grep ssh_url | awk -F': ' 'print $2' 我刚刚添加了 Github 的分页遍历指南的链接 那是正确的答案吗?我也很好奇 不幸的是它没有工作:(我会在找到它后更新

以上是关于列出组织的所有 GitHub 企业存储库的主要内容,如果未能解决你的问题,请参考以下文章

python 用于列出github组织的所有存储库的脚本

如何在github中建立存储库以进行组织?

使用 Octokit 从 Github 列出所有组织

当存储库在组织下时,Github Api 列表提交状态

使用 Octokit (c#, .net) 从大型 github 企业存储库中高效下载单个文件

Github API 列出所有存储库和 repo 的内容