I have gone through your Bitbucket API Documentation, i could not found any API to push the content (i.e) data to the Bitbucket Repository either a raw data or an data in encoded(base64) format. Is there is any API to push the content?
are you looking for this?
https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/src#post
What exactly do you mean by "content (i.e) data"? The REST API allows you to do commits (and other stuff like pull requests), so I'm not quite sure what you're missing here?
Technically, the (Cloud) API does not allow one to create new commits.
No. Pushing new content to a repo is done through pushing, not the API. There is the online editor, but that does not currently have a public API.
Thanks Nic and Erik.. Actually I searched API to push the content directly to repo.. For ex in github they providing an API to push the content into repo along with commit msg.
Do you mean "a way to push a file with data into the repo" ? This hence is not Bitbucket but git specific, and you should do it like that:
1/(git) Clone your repo git clone <repo_url>
2/ Navigate where you want, and add the file in the project path
3/(git) Add the file and push it to the main repo.
git add <file_with_data> git commit -a -m "<message>" git push
Hi there!
This is not really an answer, I just want to add that I understand the question.
We at LingoHub we provide our customers a possibility to create a file and push it to the branch of their repository.
We do not have the repository of our customers on our application server (I think you understand that this would be a bad idea). So we are not able to use git CLI commands to push files to the repo.
The Github API allows us to do so by using the BLOB endpoint: https://developer.github.com/v3/git/blobs/
For our customers who are using Bitbucket we are not able to offer this key feature of our application because we haven't found an equivalent endpoint in the Bitbucket API.
Hi !I am working on service which will allow you to store cluster configurations in git repositories. So main functional here is to push cluster configuration to the repo without cloning it. I use github and bitbucket as services where user can store configurations. But when I've done with github(there is an API for adding a new commit to the repo and pushing files), I stuck with bitbucket, I didn't find any API endpoint that would allow me to push file contents to the repository. Is it still unavailable? Or I can find it somewhere?Note: I went through downloads API but it is not what I need.
Hey guys!
Has there been any movement on this? Even I have a requirement to push new files to Bitbucket via the API.
Any movement on this? I too am running up against this issue! I should have thoroughly checked the API before getting as far as I have. I really hope there is some way to push updates via the API. Some kind of response would be great.
anyone got an answer ? I really need this functionality
This is now possible with the release of a new src API: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/src#post
Correct. We now have an API for exactly this. You can upload new content to create new commits and branches through that rest API.
Hi @evzijst
How can you delete a file through the api? That endpoint doesn't accept delete command and I can't find anywhere that does in the documentation..
You delete a file by creating a new commit that doesn't have the file in question. This is modeled after git/hg where you delete a file by creating a new commit that whose tree doesn't contain the path.
It's documented in the "files" parameter:
"when the files field contains a file path that does not have a corresponding, identically-named form field, then Bitbucket interprets that as the client wanting to replace the named file with the null set and the file is deleted instead."
Note that this has now been addressed with the new API: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/src#post
I am also trying to push files to bitbucket via API, I am using postman to test it out and I am getting an html page in response instead of json object. Please let me know if there is a way to push update to bitbucket. Thank you
Erik,
Can you provide an example of what the file parameter is supposed to look like? Do i specify the file name followed by the content?
Thanks, Ileana
I feel like a number of answers here are not clear so I will go through what I had to do.
1. Click on your personal image in https://bitbucket.org and select the "App passwords"
2. Go into the "App passwords" scope and under repositories, select "read" and "write"
3. Create a token and copy it somewhere safe. You will use this token on the command line to add files
4. Use the API documented on the POST page here: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/src#post
5. Create a random json file with some content in your current working directory named random.json
5. Create the add object API value like this:
curl -u "my-user-acct:${BITBUCKET_SECRET}" "https://api.bitbucket.org/2.0/repositories/my-workspace/my-repository/src" \ -X POST -F random.json=@random.json
Hope this helps.
It looks like you're new here. Sign in or register to get started.