can i configure bamboo plan branching to exclude running a job on the master branch?

I have a plan that i want to run no feature branches but i don't really want the plan to run on the master. Is there a way of configuring this>

7 answers

1 accepted

This widget could not be displayed.

ok so the answer that i found that works (in case anyone else is interested) is to insert the regular expression ^((?!master).)*$ into the "Only Create Branches that Match" field on the branch configuration tab

This method didn't work for me.  Bamboo did not use this regular expression to exclude branches.

This widget could not be displayed.

Yes, you can configure your plan branch to use any repository branch you want to. For more information, please refer to this page.

By the way, if you just want to checkout from the master branch and don't need other branch plan featuers, you can configure a specific branch (by default Bamboo uses the master branch) on the repository configuration page of a regular plan. For instance, if you use Git, you can specify the branch in the Branch field as it's mentioned in the documentation.

Cheers,
Armen

ok so the answer that i found that works (in case anyone else is interested) is to insert the regular expression ^((?!master).)*$ into the "Only Create Branches that Match" field on the branch configuration tab

Hi Armen

I have a list of jobs, build&package, deploy to dev , deploy to stage etc. How can I configure the branch only run the first job - build & package, not the rest of the jobs?

Thanks

This widget could not be displayed.

Hi Vincent,

Currently Bamboo doesn't support conditional flow controls. You can achieve a similar goal by splitting your current plan into 2 plans (the one that contains the build & package part, and the other one that contains the rest). Next, add a Script task to be the last task in your first plan. In your script task write a small script that will check the plan variable that returns the branch name (bamboo.repository.branch.name), and if the branch name is not a specific one, use this command to trigger the second plan:

curl -X POST --user admin:admin "http://localhost:8085/rest/api/latest/queue/FOO-BAR?executeAllStages=true"

where "admin:admin" is the username and password, and "FOO-BAR" is the plan key you want to trigger. I know this doesn't look the exact action that you ment, but as I said, Bamboo doesn't support conditional controls.

Cheers,
Armen

I would not recommend the above if using Bitbucket (or Stash) with Pull Requests.  

Only the very first plan triggered by a code change will then report a "Successful Build" to Bitbucket; therefore someone could easily think a build was successful, only to find that the subsequent plan actually failed.

Hm, putting admin user and pass into the bamboo script, ugh, it's a really dirty hack.

This widget could not be displayed.

These steps work in Bamboo 5.12.  I have no idea what other versions of Bamboo are like.

1. In the Bamboo build plan, navigate to the Branches tab and select "Create plan branches for matching new branches" and add a regular expression, for example "^feature/".  Or you can select "Create plan branches for all new branches" and skip the regular expression.

2. If there isn't already a branch plan for master, add it manually using the "Create plan branch".

3. Navigate to the Branch details tab for the master branch plan and change the trigger type to manual.

This widget could not be displayed.

sorry that should read...

I have a plan that i want to run feature branches on but i don't really want the plan to run on the master. Is there a way of configuring this?

This widget could not be displayed.

Hi

I have a list of jobs, build&package, deploy to dev , deploy to stage etc. How can I configure the branch only run the first job - build & package, not the rest of the jobs?

pic1

Anyone can give a suggestion?

This widget could not be displayed.

I'm trying to configure a plan to exclude branches that start with "hotfix". I'm using "Only create branches that match" "^((?!hotfix).)*$", but that plan still executes on branches like hotfix/ABC or hotfix-ABC.

Is this a bug on Bamboo or my regexp is not right (although all regexp parsers exclude strings like hotfix/ABC or hotfix-ABC on that regexp)?

Hi Ciprian,

The regex is for creating plan branches, not for running them. If you create a branch in your repository and you want Bamboo to detect and automatically add the corresponding plan branch, that's when the configured regex will be used. However, if the plan branch is already created in Bamboo, the branch will run whenever it's triggered. Makes sense?

Armen

Hey!

Thanks for your reply. So I'd have to delete the plans created automatically and new ones that don't match the regex should not be created automatically, right?

Ciprian

You are right, Ciprian. You need to remove the old plan branches that shouldn't have been added to Bamboo. The new correct branches that you create in your repo will be added to Bamboo based on the configured regex.

Armen

Thank you very much for your answer! Made my day!

Ciprian

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted yesterday in New to Jira

Are you planning to trial, or are currently trialling Jira Software? - We want to talk to you!

Hello! I'm Rayen, a product manager at Atlassian. My team and I are working hard to improve the trial experience for Jira Software Cloud. We are interested in   talking to 20 people planning t...

78 views 1 0
Join discussion

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