Получение пользовательских репозиториев в GitHub API - PullRequest
7 голосов
/ 06 мая 2011

Мы используем GitHub API в карьере переполнения стека, чтобы добавить хранилища пользователя. Нам не удалось ввести репозитории пользователей, которые являются частью организации .

Например, wycats является участником проекта jQuery. Тем не менее, запросы к своим репозиториям через API не указывают на это - репозиторий jQuery принадлежит организации jQuery .

Каковы вызовы API, чтобы узнать, что wycats участвует в репозитории jQuery? Правильный ответ примет форму URL (ов), который возвращает список репозиториев организации для данного имени пользователя. Если требуется более одного звонка, это нормально.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 06 мая 2011

Я думаю, это то, что вы ищете.

Проверка членства в организации

/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

0 голосов
/ 03 октября 2013

вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...