trigger merge of bitbucket branch from bamboo build plan stage Edited

A Bamboo Build Plan has several stages.  Each of the stages is triggered by a specific branch of a linked remote Bitbucket repository.  After the stage of the Bamboo build plan completes successfully, the linked Bamboo deployment environment tasks are triggered. 

What specifically do I need to do in order to get the completed deployment environment tasks in Bamboo to trigger a merge of the remote Bitbucket repository code to the next highest branch? 

If a merge to the next highest branch in the remote Bitbucket can be triggered from Bamboo at the end of the deployment environment tasks, then that would trigger the running of the next stage of the Bamboo build plan. So that the Bamboo build plan pipeline could continue. 

Surely this functionality has been developed and tested, because this auto-merging to the next highest level is an essential enabling technology for a continuous delivery pipeline.

 

2 answers

Hi Username,

Did you try this variable to print the branch name of the linked repository

${bamboo.planRepository.<position>.branchName}

as described in the default variables page?

where position is the name of the branch in the repository

if your intention is to just print the repository URL, this might help.

${bamboo.planRepository.<position>.repositoryUrl}

Otherwise what error do you get when you use it?

If a developer already knows the value of the <position> variable, then the user already knows the information required to successfully merge.  The question above assumes that the developer does NOT know the value of the <position> variable.  The solution to this problem seems to involve using raw git commands because the Bitbucket layer does not seem to model this.  Also note that the merging is being done from a remote git repo on the build server to a central git repo on the Bitbucket server.  Your answer does not address these aspects.

For your use case, is it possible for you to utilise one of the bamboo's automatic merge strategies to do the merge instead of relying on automatic merge in Bitbucket?

You will see why your suggestion would not apply if you re-read the first paragraph of the question above. 

    "A Bamboo Build Plan has several stages.  Each of the stages is triggered by a specific branch of a linked remote Bitbucket repository.  After the stage of the Bamboo build plan completes successfully, the linked Bamboo deployment environment tasks are triggered."

As you can read in the first paragraph, this implementation needs a release pipeline, and the Build Plan Stages are being used to implement the release pipeline.  In the past, we did examine plan branching, but none of the Atlassian documentation indicated that a pipeline could be created using plan branching.  The only logical way to organize a pipeline using the objects available in Bamboo seems to be to utilize Plan Stages as the model for Pipeline Stages, and to have success at each Plan Stage trigger deployment to a specified environment. 

At the moment, we are focusing on raw git commands and the Bitbucket REST API. 

If you can show how to implement a release pipeline with clear stages using plan branching, for the use case described in this question, then it would make sense to explore automatic merging strategies again in more detail.

0 vote

Please try using this REST API to trigger Pull Request Merge.

Since it require Pull Request ID, please use the workaround in this feature request:

https://jira.atlassian.com/browse/BAM-18350 (replace bamboo_repository_revision_number with bamboo_planRepository_revision for deployment)

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Renan Battaglin
Published May 18, 2017 in Bamboo

FAQ: How to Upgrade Bamboo Server

Bamboo 5.9 will no longer be supported after June 12, 2017. What does this mean? As part of our End of Life policy, Atlassian supports major versions for two years after the first major iteratio...

1,318 views 0 5
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