Как создать репозиторий 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
С новым 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 }'