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

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Upload attachment to bitbucket server with REST API

Hello,

 

For some time Im trying to find out how to upload an image to Project/Repo/Pull Request using REST API from bitbucket server. The docs Im using is:

https://docs.atlassian.com/bitbucket-server/rest/5.16.0/bitbucket-rest.html

Im starting to lose hope and think its impossible cuz I cant find it.
I have a pretty working mobile app for bitbucket now but Im stuck on creating a comment with an Image/Video/any sort of attachment.

So tell me dear community, is it possible? And if so, how? :D

 

1 answer

1 accepted

1 vote
Answer accepted
Kristy Atlassian Team Apr 23, 2020

Hi @Miksier ,

 

The attachment REST API became publically available in version 7.0:

https://docs.atlassian.com/bitbucket-server/rest/7.1.2/bitbucket-rest.html#idp192

 

All the best,

Kristy

Hi Kristy and thanks for the answer!

So it seems that its impossible for any older versions of bb server to save attachment by REST, thats somewhat a sad news.

But nevertheless I checked the doc You provided and see that it still lacks the POST in this endpoint. That way I still cant add a screenshot(or anything really) to PR comment.

Cant do a lot with DELETE and GET ;\

"http://example.com/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/attachments

its endpoints. 

[Sorry, didnt see doubled message]

@Kristy 

From my tweaking it seems that attachments endpoint is available also available on the BB Server in 6.10 version. But I dont see it in documentation.

It DOES have a POST but I cant figure out the way that my request should be formed for it to accept my file.

When I send POST on :

<baseUrl>/projects/<projName>/repos/<repoSlug>/attachments

 

I get

<body>    <h1>HTTP Status 415 – Unsupported Media Type</h1>    <hr class="line" />    <p><b>Type</b> Status Report</p>    <p><b>Description</b> The origin server is refusing to service the request because the payload is in a format not        supported by this method on the target resource.</p>    <hr class="line" /></body>

but when I use GET it says that the method is not supported indicating that SOMETHING is out there :|

 

Could You please help me find out how to make a successful POST to this hidden endpoint? :D

Kristy Atlassian Team Apr 26, 2020

Hi @Miksier

It is available but not documented because it is private API. This means that Bitbucket Server makes no guarantees about it - it might change in future releases of Bitbucket Server without warning.

If you are making a plugin or something that is expected to be reliable, then you should not be using private API.

 

That said, the problem you're seeing might be because you're using a POST instead of a PUT?

The best way to discover this what the endpoint needs would be to inspect the the network traffic from your browser. Most browser devtools have a 'copy as curl' option which you can use.

 

All the best,

Kristy

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

New improvements to user management in Bitbucket Cloud 👥

Hey Community! We’re willing to wager that quite a few of you not only use Bitbucket, but administer it too. Our team is excited to share that we’ll be releasing improvements throughout this month of...

3,845 views 10 16
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you