7

我们在 Stack Overflow Careers 上使用 GitHub API 来引入用户的存储库。我们还没有成功引入属于组织的用户存储库。

例如,wycats 是 jQuery 项目的贡献者。然而,通过 API查询他的存储库并不表明这一点——jQuery存储库归jQuery 组织所有。

了解 wycats 是 jQuery 存储库的贡献者的 API 调用是什么?正确答案将采用 URL 的形式,该 URL 返回给定用户名的组织存储库列表。如果它需要多个电话,那很好。

谢谢!

4

2 回答 2

4

我想这就是你要找的。

检查组织成员资格

/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

于 2011-05-05T20:56:09.560 回答
0

您可以使用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
于 2013-10-03T12:19:31.547 回答