У меня есть команда в моей учетной записи bitbucket, myteam
, которая содержит проект с именем mainproject
. Всякий раз, когда я хочу создать репозиторий внутри, мне нужно только выполнить эту командную строку:
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/repo1" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks"}'
Это работает. Однако проблема возникает, когда я создаю второй проект с именем secondproject
. Как я должен сообщить API, к какому проекту должен принадлежать репозиторий?
Я попытался указать информацию о проекте в данных (-d):
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/repo2" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks", "project": {"name": "secondproject"} }'
или с ключевым параметром:
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/repo2" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks", "project": {"key": "SEC"} }'
Это создаст репозиторий repo2 в проекте mainproject
.
Я пытался использовать uuid, но происходит то же самое, репо создается в основном проекте.
Я попытался указать название проекта в ссылке:
$ curl -X POST -v -u myaccount:passwd "https://api.bitbucket.org/2.0/repositories/myteam/secondproject/repo1" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks"
...
{"error": {"message": "Resource not found", "detail": "There is no API hosted at this URL.\n\nFor information about our API's, please refer to the documentation at: https://confluence.atlassian.com/x/IYBGDQ"}}
Как я могу указать, к какому проекту принадлежит репозиторий, который я хочу создать? Я не ищу решение с графическим интерфейсом, я хочу придерживаться командной строки, так как мне нужно автоматизировать создание репозиториев таким образом.