繁体   English   中英

如何在 GitHub 中使用 REST API 列出给定主题的所有存储库?

[英]How to list all repositories for a given topic with REST API in GitHub?

我想用一个主题的所有存储库列表更新 README.md。 在通过提交编写和更新更改(使用脚本自动)之前,我想获取给定主题的所有带有 repo URL 的字符串。 我将保存脚本每次执行的日期。

我找到了一种方法来获取存储库的所有主题,而不是一个主题的所有存储库: https : //developer.github.com/v3/repos/#list-all-topics-for-a-repository in API V3

此外,似乎有“相关主题”或类似主题的同义词或不同的错字。

示例: https : //github.com/search?q=abap&type=Topics

我如何获取给定主题(及其相关主题)的所有 repo URL 以更新 readme.me 文件和(以识别新 repo)?

您可以通过以下两种方式实现这一目标:

1. 卷曲:

curl -H "Accept: application/vnd.github.mercy-preview+json" "https://api.github.com/search/repositories\?q\=topic:XYZ"

显然,如果您的 repo 是私有的,您可以使用-u添加您的令牌或 github 用户名和密码。

2. 蟒蛇:

有一个库,PyGithub,它基本上使用了大部分 githhub 开发人员 API 并将它们转换为 python 函数。

PyGithub

这里有一些代码给你:

import github

g = Github("YOUR_GITHUB_TOKEN")

topic = 'php'
ORGANIZATION = 'your_github_org_name'

repos = g.search_repositories(query=f'topic:{topic} org:{ORGANIZATION}')
for repo in repos:
    print(repo)

我写了一个很长的函数,它也做了很多其他检查,但这是一个基本的函数,可以得到你想要的(你显然可以修剪返回的 repos 的名称等等)

希望这可以帮助。 干杯。

首先,我找到了有关分页的帮助,以帮助您浏览多个页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM