Есть ли способ переименовать репозиторий на 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, вы можете переименовать РЕПО следующим образом:

  1. перейдите на страницу обзора РЕПО, обычно https://bitbucket.org/username/oldname/overview
  2. нажмите на шестеренку настройки в дальнем правом конце строки меню !
  3. вместо 1. и 2. вы можете ввести 'r' затем 'a' для администрации.
  4. изменить имя в Name поле.
  5. клик 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, а затем

  1. клик Repository
  2. клик Repository Settings...
  3. выделите строку, содержащую удаленную ветвь. Обычно origin https://username@bitbucket.org/username/oldname.git
  4. клик Edit
  5. обновить

в оболочке 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