我正在尝试获取与在我的 rails 应用程序中使用 github api gem 的组织关联的所有 repos 的列表。我使用omniauth对用户进行身份验证,然后我可以访问他们的组织列表以及用户的repos列表,但我正在尝试获取用户组织的repos列表(他们具有管理权限) .
关于 stackoverflow的一个问题似乎很有希望,它回答了我关于访问我已经拥有名称的组织回购信息的问题,但是我没有名称的回购呢?
任何想法如何使用 github api gem 列出组织的所有存储库?
我正在尝试获取与在我的 rails 应用程序中使用 github api gem 的组织关联的所有 repos 的列表。我使用omniauth对用户进行身份验证,然后我可以访问他们的组织列表以及用户的repos列表,但我正在尝试获取用户组织的repos列表(他们具有管理权限) .
关于 stackoverflow的一个问题似乎很有希望,它回答了我关于访问我已经拥有名称的组织回购信息的问题,但是我没有名称的回购呢?
任何想法如何使用 github api gem 列出组织的所有存储库?
您可以使用普通 curl 获取信息吗?例如尝试:
curl -u "your_username" https://api.github.com/orgs/:your_organization/repos?type=private
(这应该只列出私有存储库,替换private
为all
列出所有存储库,根据 API 文档:http: //developer.github.com/v3/repos/#list-organization-repositories)。
如果这可行,那么您只是无法使用 ruby 库使其正常工作?
如果您不知道用户属于哪个组织,请使用此 API 查找:http: //developer.github.com/v3/orgs/#list-user-organizations
我能够使用 GitHub 的 GraphQL API 做到这一点:
{
organization(login: "<my-org-name>") {
repositories(first: 100) {
totalCount
edges {
node {
name
isArchived
}
}
}
}
}
我发现GitHub 的 GraphQL Explorer对于快速解决这个问题非常有用。
执行的一个选项是 GitHub 的gh
CLI,它可以运行此查询,然后您可以使用jq
或操作输出。
请注意,您需要为 100 多个存储库实现分页 :)