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