gpt4 book ai didi

java - 如何使用 github api 检索 repo 的所有贡献者

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:27 25 4
gpt4 key购买 nike

我正在尝试使用此 github api 获取 repo 协议(protocol)的所有贡献者.

如果我没记错的话,它还告诉我,如果一个 repo 有超过 500 个贡献者,它只给出其中的 500 个,其余的被标记为匿名。

For performance reasons, only the first 500 author email addresses in the repository will be linked to GitHub users.

此 repo linux kernel有 5k+ 贡献者,根据 API,我应该通过 API 获得至少 500 名贡献者。

当我执行 curl -I https://api.github.com/repos/torvalds/linux/contributors?per_page=100

我只有 3 页 (per_page = 100),所以我有超过 300 个贡献者。(查看“链接”标题)

有没有办法获得 repo 的所有贡献者(5000+)?

HTTP/1.1 200 OK
Server: GitHub.com
Date: Thu, 19 Nov 2015 18:00:54 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 100308
Status: 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 56
X-RateLimit-Reset: 1447958881
Cache-Control: public, max-age=60, s-maxage=60
Last-Modified: Thu, 19 Nov 2015 16:06:38 GMT
ETag: "a57e0f74fc68e1791da15d33fa044616"
Vary: Accept
X-GitHub-Media-Type: github.v3
Link: <https://api.github.com/repositories/2325298/contributors?per_page=100&page=2>; rel="next", <https://api.github.com/repositories/2325298/contributors?per_page=100&page=3>; rel="last"
X-XSS-Protection: 1; mode=block
X-Frame-Options: deny
Content-Security-Policy: default-src 'none'
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Content-Type-Options: nosniff
Vary: Accept-Encoding
X-Served-By: a30e6f9aa7cf5731b87dfb3b9992202d
X-GitHub-Request-Id: 67E881D2:146C9:24CF1BB3:564E0E55

最佳答案

由于 GitHub API 似乎不支持这一点,另一种方法(一种慢得多的方法)是克隆存储库,然后运行此命令(以获取名称):

git log --all --format='%aN' | sort -u

通过电子邮件地址获取结果(这应该防止贡献者名称配置更改并且会更准确):

git log --all --format='%aE' | sort -u

如果您需要为任何存储库提供此功能,您可以编写一个简单的脚本来获取存储库路径、克隆存储库、运行命令,然后删除下载的存储库。

与此同时,您可以 contact GitHub希望他们提高扩展/修复 API 的优先级。

关于java - 如何使用 github api 检索 repo 的所有贡献者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33811189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com