【问题标题】:List of all repositories from a private organization in github来自 github 中私人组织的所有存储库的列表
【发布时间】:2015-04-22 07:35:23
【问题描述】:

这是我需要的:

我想检索我的私人组织中所有 repo 的列表,获取所有 repo 的团队列表,然后获取每个团队的所有成员。

我现在正在尝试在 python 中使用简单的身份验证请求来传递 http 命令,但这并没有给我完整的 repos 列表。

以前有人做过吗?我可以尝试任何带有示例的 python 模块吗?

【问题讨论】:

  • 你能给我们看一些代码吗?当你说它“没有给我完整的 repos 列表”时,你看到的是什么?
  • 由于您尝试获取组织的存储库,我怀疑您正在使用此端点 (developer.github.com/v3/repos/#list-organization-repositories)。您提到您没有获得完整的存储库列表;你确定你没有被分页控制吗? developer.github.com/v3/#pagination
  • @jasonrudolph A+“被分页控制”:D
  • 不幸的是,我不能相信这句话。那是@pengwynn 原创。我只是希望他认为这是合理的使用。 ;-)

标签: python github github-api


【解决方案1】:

所以你可以用 github3.py (pip install github3.py) 很好地做到这一点:

import github3

gh = github3.login("Jason", "Jason's password")
org = gh.organization("Jason's organization with private repos")
repos = list(org.iter_repos(type="all"))  # Or type="private"

或者,如果您喜欢冒险(pip install --pre github3.py 预览 github3.py 的 1.0.0):

import github3

gh = github3.login("Jason", "Jason's password")
org = gh.organization("Jason's organization with private repos")
repos = list(org.repositories(type="all"))  # Or type="private"

github3.py 将为您处理分页(正如 Jason 在对您的问题的评论中提到的那样),这就是为什么您可以将组织存储库的迭代包装在对 list 的调用中。 github3.py 一次生成 100 个存储库(而不是默认的 30 个),因此您应该快速获取其中的 100 个,然后等待下一个 100 个请求。

【讨论】:

  • 这很好用。我能够解决我原来的问题。
猜你喜欢
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-09
  • 2020-10-24
  • 2018-12-13
  • 2017-02-10
  • 1970-01-01
相关资源
最近更新 更多