我正在尝试使用我的rails应用程序中的github api gem获取与组织关联的所有repos的列表。我使用omniauth来验证用户,然后我可以访问他们的组织列表以及用户的存储库列表,但我正在尝试获取用户组织(他们具有管理访问权限)的存储库列表
stackoverflow上有一个question看起来很有希望,它回答了我的问题,即访问组织的回购信息,我已经知道了这个名称,但是我没有名字的回购怎么办? / p>
如何使用github api gem列出组织的所有回购?
答案 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多个存储库实施分页:)