我们在 Stack Overflow Careers 上使用 GitHub API 来引入用户的存储库。我们还没有成功引入属于组织的用户存储库。
例如,wycats 是 jQuery 项目的贡献者。然而,通过 API查询他的存储库并不表明这一点——jQuery存储库归jQuery 组织所有。
了解 wycats 是 jQuery 存储库的贡献者的 API 调用是什么?正确答案将采用 URL 的形式,该 URL 返回给定用户名的组织存储库列表。如果它需要多个电话,那很好。
谢谢!
我想这就是你要找的。
检查组织成员资格
/user/show/:user/organizations [GET]
https://github.com/api/v2/json/user/show/wycats/organizations
列出任何组织的所有公共存储库
/organizations/:org/public_repositories [GET]
https://github.com/api/v2/json/organizations/jquery/public_repositories
您可以使用github api进行身份验证。我在没有先检索令牌的情况下出错。这是工作代码(只需使用您自己的组织和用户名:-))
organization="write-here-the-organization"
githubuser="your-github-user"
token=`curl -i -u ${githubuser} -d '{"scopes": ["repo"]}' https://api.github.com/authorizations | grep token | cut -d\" -f 4`
curl -i -H "Authorization: token ${token}" https://api.github.com/orgs/${organization}/repos
作为上述结果,您将获得一个包含所有存储库及其信息的长 json。你可以从这里继续。
在我的情况下,我只想要 ssh 路径,所以我将在一个循环中克隆所有这些路径,所以我做了
curl -i -H "Authorization: token ${token}" https://api.github.com/orgs/${organization}/repos | grep "ssh_url" | cut -d\" -f 4