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

标签 git rest api github

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

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

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

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

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

最佳答案

您可以通过以下两种方式实现此目的:

<强>1。 curl :

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

显然,如果您的存储库是私有(private)的,您可以使用 -u 添加您的 token 或 github 用户名和密码。

<强>2。 python :

有一个库,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 的名称等等)

希望这对您有所帮助。干杯。

关于git - 如何在 GitHub 中使用 REST API 列出给定主题的所有存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51912862/

相关文章:

Git push : The object is 12311134 byte, 大于此存储库中对象的 1048576 字节限制

git - Linux最新稳定编译: cannot represent change to vmlinux-gdb. py:

git - 如何使分支 B 与分支 A 完全相同?

rest - 在 REST API 的 Swagger 定义中实现分页

javascript - 如何使用 HTML、jQuery、数字 API

api - Azure API 管理始终返回 404 未找到资源

git - 如何使用 SourceTree 正确压缩提交?

spring - 自动化 API 黑盒测试

java - Resteasy 设置表单 url 编码 x-www-form-urlencoded

php - 优雅变化 2011-10-31T16 :22:00 to 2011-10-31 in php