Hi,
I am trying to create a Jenkins Job that automate the creation of Repository in Bitbucket.
I am facing issues with switching default branch using the REST API-
When I call the API with GET- I am receiving the correct value, but when I try to use the POST for setting value, I don't get any errors, but the default branch is not set.
This is what I try to call-
curl --user <user>:<password> -H "Content-Type: application/json" --data '{ "id": "<New branch>" }' -X POST https://<host>/rest/api/1.0/projects/<Project key>/repos/<repo name>/branches/default
Hey Eyal_Goren,
The short answer is that you're using the wrong HTTP verb - you should be using PUT, not POST.
More generally, in REST API semantics POST is typically used for creating new resources (e.g. the API to create a branch uses POST), whereas PUT is used for updating existing resources (e.g. in this case, where we're changing the default branch but not creating anything new).
See also https://docs.atlassian.com/bitbucket-server/rest/7.1.1/bitbucket-rest.html#idp205
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It looks like the v2 API doesn't work to set the branch at all:
curl ... https://api.bitbucket.org/2.0/repositories/harisekhon/devops-bash-tools -H 'Accept: application/json' -H 'Content-Type: application/json' -X PUT -d '{"mainbranch": { "name": "somexistingbranch", "type": "branch" } }'
returns a 200 OK but doesn't change the default branch.
This looks like a bug?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Seeing the same thing. Have you found a solution?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.