-
New Feature
-
Resolution: Unresolved
-
Minor
-
None
-
GitHub, Bitbucket
Some operations on pullrequests (like reporting build statuses or creating reports) require to pass the hash of the pullrequest branch head, as known by the remote system.
When using the branch plugin, Jenkins may create a merge commit between the PR source and target branch. It makes it difficult for a pipeline script to retrieve the original source commit hash.
My suggestion is to add a new environment variable, similar to CHANGE_BRANCH, that would expose this source commit. We could name this variable CHANGE_BRANCH_COMMIT_ID, to make it consistent with existing CHANGE_BRANCH and COMMIT_ID.
See original discussion:
https://groups.google.com/d/topic/jenkinsci-dev/-ojqklsaKbw/discussion
Example of operations requiring the PR head commit hash:
- https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build
- https://developer.atlassian.com/server/bitbucket/how-tos/code-insights/
- https://developer.github.com/v3/repos/statuses/
- https://developer.github.com/v3/checks/runs/#create-a-check-run