Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Deleting a branch using the API

Figaw October 27, 2017

How do I use the DELETE endpoint of the REST API for branches?

https://developer.atlassian.com/static/rest/bitbucket-server/5.5.0/bitbucket-branch-rest.html

Looking at this, I'm supposed to send a request object with the DELETE, but DELETE doesn't support passing an object?

The endpoint should simply be a request to 

/rest/branch-utils/1.0/projects/{projectKey}/repos/{repositorySlug}/branches?name=somebranch&dryRun=true

 

I don't know how you'll handle the /refs/head/- and forward slashes people use in their requests. But it seems wrong to imply that people should pass an object with their DELETE request.

 

Or do it like a POST request, to a 

/rest/branch-utils/1.0/projects/{projectKey}/repos/{repositorySlug}/delete

With the object, with the name and dryRyn - that would work right out of the box. And the branch-target is inferred by the branch-utils in the beginning of the API.

3 answers

0 votes
Sundaranand Mahadevan
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 18, 2019

delete with a return code 204 worked:

https://stash.****.com/stash/rest/branch-utils/1.0/projects/{proj}/repos/{repo}/branches

the body must look like 

{
"name": "refs/heads/{Name of the Branch}",
"dryRun": false
}

Use Basic Auth in PostMan and provide your userId and Password
-H 'cache-control: no-cache'
-H 'content-type: application/json' -H 'x-atlassian-token: nocheck'
Joris Guisson
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
May 11, 2020

I only get a 405 error when I try this API.

 Happens both when I try to create a branch with a post or when I try to delete a branch.

Do you need to do anything special to use this API. Or was this API broken in some bitbucket server versions ?

Like Ovidiu Alexandru likes this
Ovidiu Alexandru
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
November 6, 2020

Same issue for me, this api does not work on bitbucket server 6.8.0, I get 405 error. Trying to implement a similar functionality to "delete source branch after merging" tickbox when pull requests are merged. Is there any alternative to achieve this?

0 votes
Cante Ibanez April 24, 2018

how do we do this in postman? I have tried using the example with the json in the 'body' tab of postman and i am getting error 405 :  Method Not Allowed

jredmond
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 24, 2018

Are you using Bitbucket Server or Bitbucket Cloud? This API is just for BB Server; there is no corresponding endpoint for BB Cloud.

Cante Ibanez April 25, 2018

yes this is for the bitbucket server

Cante Ibanez April 30, 2018

anyone? none?

Cante Ibanez May 10, 2018

this is what I have tried and its not working..

curl -X DELETE https://<url>/rest/api/1.0/projects/<abc>/repos/<xyz>/branches 
-H 'authorization: Bearer xxxxxx' -H 'cache-control: no-cache' 
-H 'content-type: application/json'  
-H 'x-atlassian-token: nocheck' 
-d '{"name": "refs/heads/feature/name","dryRun": false}'
Deleted user August 23, 2018

Cante,

You are using the wrong endpoint. As per documentation this should be /rest/branch-utils/1.0/projects/{projectKey}/repos/{repositorySlug}/branches instead of rest/api/1.0/projects/<abc>/repos/<xyz>/branches like you are using now.

BR,

Maarten

Like # people like this
David Morabito
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 22, 2023

This

0 votes
Caterina Curti
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 3, 2017

Hi Nicolaj,

The delete rest end point requires the ref to be specified as part of the input request, not in the URL itself. 

 

If you expand the "Example request representations", you'll get an example json file:

{
    "name": "refs/heads/my-branch",
    "dryRun": false
}

 

Add this to your request to provide the input file:

-H "Content-Type: application/json" --data @input.json 

 

Cheers,

Caterina

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events