我们可以循环rest APIhttps://api.github.com/repos/OWNER/REPO/contributors
并检查。 不过,我们有将近10万个存储库。
尝试以下内容。
repositoryOwner
login: "MyOrganization"
我们只能检索与组织相关的存储库,
affiliations
看起来像是跟随组织,而不是我作为登录用户的我。 再次请注意,所有存储库都是组织所有的,因此,如果我尝试
ownerAffiliations
login: "MyGitHubUser"
:这里viewer
仅检索当前观众拥有的回购,而不是他们贡献的回购。
viewer.repositories
:仅检索一个回购。
repository
:我们已经尝试了search
Query Documentation)。 我们要求尝试使用
query
的AI,但这也不能检索贡献者。
octokit的graphql库,这是我们下一步尝试的。
ICross在我很快出于某些未知原因获得-1票后,在Github社区上发布了一个问题。 对于任何遇到同样问题的人来说,这都是一个有用的答案:https://github.com/orgs/community/discussions/151261(我建议使用社区,因为响应快速而令人印象深刻)
以下是该答案的副本和粘贴:- 开始复制和粘贴 -
GITHUB的GraphQl API提供了一种查询用户贡献的方法,而无需手动浏览存储库。
用
involves
contributionsCollection
🔹要包括拉请求贡献,扩展查询:
{
user(login: "YourGitHubUsername") {
contributionsCollection {
commitContributionsByRepository(maxRepositories: 100) {
repository {
name
owner {
login
}
}
}
}
}
}
使用github搜索API(休息替代)
搜索API支持查找用户是贡献者的存储库:
getHttps://api.github.com/search/repositories?q =用户:yourgithubusername
consides octokit进行优化
使用OctOkit可以通过更好的分页处理和性能来简化GraphQl请求。 结论没有单个API调用,可以直接在一个组织中找到所有贡献的存储库,但是GraphQL贡献汇票是最接近的内置解决方案。如果您需要更广泛的数据集,则可能仍需要每天进行批处理API调用和缓存结果。
-复制和粘贴的结尾 - 此外,在公司的宽松频道上,有人建议调查{
user(login: "YourGitHubUsername") {
contributionsCollection {
pullRequestContributionsByRepository(maxRepositories: 100) {
repository {
name
owner {
login
}
}
}
}
}
}
,正如文档所示
我们最终使用上面的GraphQl查询时没有开始测试。