【问题标题】:List all GitHub repos for an organization - INCLUDING those in teams列出组织的所有 GitHub 存储库 - 包括团队中的存储库
【发布时间】: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 查询中获取所有这些存储库?

【问题讨论】:

    标签: github github-api


    【解决方案1】:

    你可以使用下面的命令

    gh 存储库列表 {组织名称}

    使用以下命令登录之前

    gh 认证登录

    github.com/cli/cli

    【讨论】:

    • gh 是新的 GitHub CLI:github.com/cli/cli
    • 是的,鲍里斯是正确的。我错过了这条评论。
    【解决方案2】:

    我很抱歉。它列出了我所有的回购......在后续页面上。了解“page=" 和 "per_page=" 是我所需要的,现在我可以看到我需要的所有 repos。

    【讨论】:

    【解决方案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 <#> 
    

    【讨论】:

      猜你喜欢
      • 2021-07-11
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      相关资源
      最近更新 更多