在GitHub API中获取用户的组织存储库

时间:2011-05-05 20:36:58

标签: github github-api

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

例如,wycats是jQuery项目的贡献者。但是,querying his repositories通过API并未表明这一点 - jQuery repojQuery organization所有。

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

谢谢!

2 个答案:

答案 0 :(得分:4)

我认为这就是你要找的东西。

  

Checking Organization Membership

/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

答案 1 :(得分: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