8

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

关于 stackoverflow的一个问题似乎很有希望,它回答了我关于访问我已经拥有名称的组织回购信息的问题,但是我没有名称的回购呢?

任何想法如何使用 github api gem 列出组织的所有存储库?

4

2 回答 2

11

您可以使用普通 curl 获取信息吗?例如尝试:

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

(这应该只列出私有存储库,替换privateall列出所有存储库,根据 API 文档:http: //developer.github.com/v3/repos/#list-organization-repositories)。

如果这可行,那么您只是无法使用 ruby​​ 库使其正常工作?

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

于 2013-01-30T07:53:23.553 回答
1

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

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

我发现GitHub 的 GraphQL Explorer对于快速解决这个问题非常有用。

执行的一个选项是 GitHub 的ghCLI,它可以运行此查询,然后您可以使用jq或操作输出。

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

于 2020-12-15T14:59:26.790 回答