Как создать репозиторий GitHub в организации из командной строки?

Насколько я понимаю, чтобы создать личный репозиторий в командной строке, используя GitHub v3 API, можно сделать это (соответственно заменив USERNAME и REPONAME):

curl -u 'USERNAME' https://api.github.com/user/repos -d '{"name":"REPONAME"}'

Затем пользователь вводит свое имя пользователя и пароль, и GitHub создаст новый пустой репозиторий по адресу "github.com/USERNAME/REPONAME".

У меня вопрос, как мне создать хранилище, принадлежащее организации, через командную строку? Я попытался заменить USERNAME на имя организации, и мне было предложено ввести "пароль хоста". Я являюсь владельцем организации, поэтому я ввел свой пароль, но получил "Неверные учетные данные". Этот метод не работает для принадлежащих организации хранилищ? Или я что-то не так делаю?

2 ответа

Решение

Для создания хранилища в организации вам необходимо отправить запрос в POST /orgs/:org/repos конечная точка, а не /user/repos, Вашему пользователю не нужно никаких дополнительных разрешений или областей действия над тем, что требуется для создания пользовательского репозитория, но пользователь должен быть членом :org:

Создайте

Создайте новый репозиторий для аутентифицированного пользователя. (В настоящее время не включен для интеграции)

POST /user/repos

Создайте новый репозиторий в этой организации. Аутентифицированный пользователь должен быть членом указанной организации.

POST /orgs/:org/repos

(Из https://developer.github.com/v3/repos/)

С новым github cli это так же просто, как:

gh repo create ORGNAME/REPONAME

Просто для полноты: пример для Git Api v3:

curl -u USERNAME https://api.github.com/orgs/ORGNAME/repos -d '{"name":"NAME_OF_REPO", "description":"SOME_DESCRIPTION", "private": true, "has_issues": true, "has_projects": true, "has_wiki":false }'
Другие вопросы по тегам