列出组织的所有 GitHub 存储库 - 包括团队中的存储库
Posted
技术标签:
【中文标题】列出组织的所有 GitHub 存储库 - 包括团队中的存储库【英文标题】:List all GitHub repos for an organization - INCLUDING those in teams 【发布时间】:2013-09-09 22:04:26 【问题描述】:这是我对 GitHub API 的查询
curl -i -u user https://api.github.com/orgs/org/repos?type=all
但这并没有列出我有权访问的该组织的所有存储库。具体来说,它没有列出组织中属于我所在团队的回购。
如果我要查询
curl -i -u user https://api.github.com/teams/teamid/repos
我会看到丢失的存储库。如果我要导航到 github.com,我会在同一页面上看到私人组织 repos 和我的团队 repos 彼此相邻。有没有办法在同一个 API 查询中获取所有这些存储库?
【问题讨论】:
【参考方案1】:你可以使用下面的命令
gh 存储库列表 组织名称
使用以下命令登录之前
gh 认证登录
github.com/cli/cli
【讨论】:
gh
是新的 GitHub CLI:github.com/cli/cli
是的,鲍里斯是正确的。我错过了这条评论。【参考方案2】:
我很抱歉。它列出了我所有的回购......在后续页面上。了解“page=" 和 "per_page=" 是我所需要的,现在我可以看到我需要的所有 repos。
【讨论】:
遗憾的是没有端点来获取特定组织下的回购总数。我有点用per_page=500
破解了,所以涵盖了大多数情况。 developer.github.com/v3/repos/#list-organization-repositories
per_page=100 是最大值。【参考方案3】:
curl -i -u "用户名":"密码" https://your_git_url.com/organization_name | grep "代码库" | awk -F '"' '打印 $6'
【讨论】:
这只是计算存储库。问题不是要列出所有这些吗?【参考方案4】:您是否尝试将“per_page”属性设置为“0”?我见过一些 API 使用默认值,例如 20,但如果您将其设置为 0,例如 ?per_page=0
,您将获得所有页面。
【讨论】:
试过你的建议,很遗憾没有奏效。【参考方案5】:要添加到原始答案,如果有很多存储库并且您想获取所需数量的存储库,则可以使用以下命令。如果没有 -L
标志,它默认返回 30 个项目。
gh repo list <org> -L <#>
【讨论】:
以上是关于列出组织的所有 GitHub 存储库 - 包括团队中的存储库的主要内容,如果未能解决你的问题,请参考以下文章