Github上组织的Repos(公共和私人)列表

时间:2013-01-28 22:37:44

标签: ruby-on-rails github github-api

我正在尝试使用我的rails应用程序中的github api gem获取与组织关联的所有repos的列表。我使用omniauth来验证用户,然后我可以访问他们的组织列表以及用户的存储库列表,但我正在尝试获取用户组织(他们具有管理访问权限)的存储库列表

stackoverflow上有一个question看起来很有希望,它回答了我的问题,即访问组织的回购信息,我已经知道了这个名称,但是我没有名字的回购怎么办? / p>

如何使用github api gem列出组织的所有回购?

2 个答案:

答案 0 :(得分:11)

您是否可以使用普通卷曲来获取信息?例如。尝试:

curl -u "your_username" https://api.github.com/orgs/:your_organization/repos?type=private

(根据API文档http://developer.github.com/v3/repos/#list-organization-repositories),这应该只列出私人回购,用private替换all以列出所有回购,

如果这样可行,那么你只是在使用ruby库时遇到问题?

如果您不知道用户所属的组织,请使用此API查找:http://developer.github.com/v3/orgs/#list-user-organizations

答案 1 :(得分:1)

我能够使用GitHub的GraphQL API做到这一点:

{
  organization(login: "<my-org-name>") {
    repositories(first: 100) {
      totalCount
      edges {
        node {
          name
          isArchived
        }
      }
    }
  }
}

我发现GitHub's GraphQL Explorer对于快速弄清这一点非常有用。

执行的一个选项是GitHub的gh CLI,它可以运行此查询,然后您可以使用jq或其他方式操纵输出。

请注意,您需要为100多个存储库实施分页:)