You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
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>
The not so obvious way is to disable the plan.
Apparently, it does not disable the branch plan creation and execution.
When the master plan is disabled but configured with automatic branch management, a new branch plan will still be created. Commits to the branch will trigger a branch plan to run unless you explicitly disable that particular branch plan.
For details, refer to https://jira.atlassian.com/browse/BAM-20138
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.
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.
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.
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.
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)?
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?