Есть ли способ переименовать репозиторий на Bitbucket, используя их API
можно ли переименовать существующий репозиторий в Bitbucket, используя их REST API? Я прочитал всю документацию API Bitbucket, но не смог найти ничего даже отдаленно связанного. Я спрашиваю, возможно я что-то пропустил. Спасибо!
4 ответов
согласно https://confluence.atlassian.com/display/BITBUCKET/repository + ресурс+1.0:
PUT https://api.bitbucket.org/1.0/repositories/{accountname}/{repo_slug} --data "name=new name"
это позволяет обновить видимое имя репозитория.
используя веб-сайт Bitbucket, вы можете переименовать РЕПО следующим образом:
- перейдите на страницу обзора РЕПО, обычно
https://bitbucket.org/username/oldname/overview
- нажмите на шестеренку настройки в дальнем правом конце строки меню !
- вместо 1. и 2. вы можете ввести
'r'
затем'a'
для администрации. - изменить имя в
Name
поле. - клик
Save repository details.
имейте в виду, что изменение названия РЕПО будет изменить ее URL-адрес. Ранее доступ был https://username@bitbucket.org/username/oldname.git
теперь, однако, URL/Path РЕПО будет https://username@bitbucket.org/username/newname.git
вы можете проверить это, вернувшись на страницу обзора и наведя курсор на большую синюю кнопку HTTPS. В нижней части Вашего браузера будет показано, что теперь он указывает на https://username@bitbucket.org/username/newname.git
если вы используете SourceTree, вы можете обновить URL-адрес удаленного, выделив локальное РЕПО в SourceTree, а затем
- клик
Repository
- клик
Repository Settings...
- выделите строку, содержащую удаленную ветвь. Обычно
origin https://username@bitbucket.org/username/oldname.git
- клик
Edit
- обновить
в оболочке unix вы можете использовать cURL;
curl https://api.bitbucket.org/1.0/repositories/{accountname}/{old_repo_name} --data "name=new_repo_name" -X PUT
возможно ли для пользователя аутентифицироваться в частных репозиториях, но по-прежнему имеют только администраторы, способные выполнить:
curl https://USER:PASS@api.bitbucket.org/1.0/repositories/{accountname}/{old_repo_name} --data "name=new_repo_name" -X PUT
согласно последнему API, здесь правильная команда curl:
curl -X PUT --user username:password https://bitbucket.org/api/1.0/repositories/{accountname}/{repo_slug} --data "name=newRepoName"
обратите внимание, что repo_slug-это имя репозитория в нижнем регистре. Если вы не поместите все это в нижний регистр, вы получите не столь выразительный ответ"не найден".
Если вы не уверены, что такое slug репозитория, выполните следующую команду, которая показывает вам информацию пользователя, включая текущие репозитории, и найдите поле "slug"
curl --user username:password https://bitbucket.org/api/1.0/user