20

这是我对 GitHub API 的查询

curl -i -u {user} https://api.github.com/orgs/{org}/repos?type=all

但这并没有列出我有权访问的该组织的所有存储库。具体来说,它没有列出组织中属于我所属团队的 repos。

如果我要查询

curl -i -u {user} https://api.github.com/teams/{teamid}/repos

我会看到丢失的回购。如果我要导航到 github.com,我会在同一页面上看到私人组织 repos 和我的团队 repos 彼此相邻。有没有办法在同一个 API 查询中获取所有这些存储库?

4

5 回答 5

15

您可以使用以下命令

gh repo list {组织名称}

在使用以下命令登录之前

gh认证登录

github.com/cli/cli

于 2021-05-25T12:48:13.817 回答
7

我道歉。它列出了我所有的回购......在后续页面上。我只需要了解“page=”和“per_page=”,现在我可以看到我需要的所有存储库。

于 2013-09-05T23:24:13.050 回答
1

curl -i -u "username":"password" https://your_git_url.com/organization_name | grep "codeRepository" | awk -F '"' '{print $6}'

于 2019-01-08T09:45:16.563 回答
0

要添加到原始答案,如果有很多存储库并且您想获取所需数量的存储库,则可以使用以下命令。如果没有-L标志,它默认返回 30 个项目。

gh repo list <org> -L <#> 
于 2021-12-15T19:56:29.413 回答
0

您是否尝试将“per_page”属性设置为“0”?我见过一些 API 使用默认值,例如 20,但是如果您将其激活设置为 0,就像?per_page=0您获得所有页面一样。

于 2021-02-19T20:26:11.427 回答