Reputation: 10599
I couldn't find anything even remotely related in the documentation.
Upvotes: 36
Views: 31819
Reputation: 42949
According to https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/#api-repositories-workspace-repo-slug-put
PUT https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug} --data "{\"name\": \"${new_name}\"}"
Using the PUT method allows renaming of a repository.
According to 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"
This allows to update the visible name of a repository.
Upvotes: 18
Reputation: 6443
Just in case anyone hits this with looking for a solution to an old version of the bitbucket API (in my case 5.14.0) to say the documentation on this version is lacking is being quite polite.
curl --location --request PUT 'https://git.local.install/rest/api/1.0/projects/aa/repos/my-repo' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic .....' \
--data-raw '{"name":"my-new-name"}'
Upvotes: 1
Reputation: 903
Using the Bitbucket website you can rename a repo as follows:
https://bitbucket.org/username/oldname/overview
'r'
then 'a'
for administration. Name
field.Save repository details.
Be advised that changing the name of the repo will change its URL access too. Previously the access was https://[email protected]/username/oldname.git
Now, however, the repo's URL/Path will be https://[email protected]/username/newname.git
You can check this by going back to the Overview page, and hovering over the big blue HTTPS button. The bottom of your browser will show that it now points to https://[email protected]/username/newname.git
If you are using SourceTree you can update the remote's URL by highlighting the local repo in SourceTree and then
Repository
Repository Settings...
origin https://[email protected]/username/oldname.git
Edit
URL/Path
field. Change 'oldname.git' to 'newname.git', leave the rest unchanged. So the full path should be https://[email protected]/username/newname.git
OK
Upvotes: 65
Reputation: 919
According to the lastest API here is the correct curl command:
curl -X PUT --user username:password https://bitbucket.org/api/1.0/repositories/{accountname}/{repo_slug} --data "name=newRepoName"
Note that the repo_slug is the repository name IN LOWER CASE. If you don't put it all in lower case you would get the not so expressive answer "Not Found".
If you are not sure what is the repository slug execute the following command, which shows you the user's information including current repositories, and look for the field "slug"
curl --user username:password https://bitbucket.org/api/1.0/user
Upvotes: 0
Reputation: 1275
In a unix shell you can use cURL;
curl https://api.bitbucket.org/1.0/repositories/{accountname}/{old_repo_name} --data "name=new_repo_name" -X PUT
Is it possible for a user to authenticate in private repositories, but still have only administrators able to execute:
curl https://USER:[email protected]/1.0/repositories/{accountname}/{old_repo_name} --data "name=new_repo_name" -X PUT
Upvotes: 4