How to find a merge-commit for the pull-request via Stash REST API?

I have the merged pull-request id, and I want to get the hash of it's merge-commit.

How can I do it?

1 answer

1 accepted

Hi Ivan,

I hope I don't lead you astray but I'm not actually sure if that's possible from REST. We certainly have to the from/to refs in the core REST API, but that's not quite what you're after?

This might sound a little strange but you _could_ just use Git's smart HTTP ref advertisement instead. This is what Git uses as part of fetch/clone. You can see what I mean by running the following:

GIT_CURL_VERBOSE=1 git ls-remote origin

The environment variable is just so you can see the URL, which looks like:

curl "http://host:port/scm/PROJECT/repo.git/info/refs?service=git-upload-pack"

At that point you could just grep for the hash against refs/pull-requests/$PR/merge-clean.*

Does that help?

Charles

* Just FYI in an upcoming version of Stash we're planning on cleaning up some of these refs and merge-clean will most likely become merge. Just so you know.

GIT_CURL_VERBOSE=1 doesn't work for me, but your point is clear.

Hi Ivan,

As one of my colleagues just pointed out, if you're looking for the commit that was actually merged then my previous advice is going to be wrong. merge-clean is an internal ref that will always differ from the final merge commit.

Apologies for the confusion. I can't think of anything that will return the commit hash you're looking for. :(

Charles

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

652 views 0 4
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot