Enhanced plan branch configuration
You can configure plan branches using Bamboo Specs. This way you create a custom plan branch configuration that differs from that on the default branch. We’re referring to plan branches with custom configuration via Bamboo Specs as Specs branches.
To use the enhanced plan branch configuration, your code must be stored in Bitbucket Data Center or Bitbucket Cloud, and you must be using Bamboo Specs for plan configuration. To use this feature with Bitbucket Cloud, set up the webhook and enable the Enable webhooks flag in the repository configuration. See Triggering a Bamboo build from Bitbucket Cloud using Webhooks and Triggering a Bamboo build from GitHub using Webhooks.
By default, all plan branches are configurable.
Bamboo Specs are not applied to plan branches that were created before upgrading to Bamboo 7.0. If you want Bamboo to process such branches, you must enable it manually from the Branch details configuration.
Branches are commonly used in version control systems to develop features or bug fixes without affecting your default branch typically referred to as master. Before Bamboo 7.0 plan branches came with certain limitations — their configuration was inherited from the master build configuration and you could only modify it to a very limited extent. This would mean that you wouldn’t be able to test your custom changes to your plan branch until you copied your changes to the master, or have a custom configuration for individual branches.
In Bamboo 7.0, we’re enhancing plan branch configurations with Specs branches, allowing for your build configuration to live inside plan branches. Specs branches allow you to create your own feature configuration separate from master, where you can make your commits, Bamboo Specs changes, and tests without having to worry about modifying the master branch. This way you can create custom build plans and feature branch configurations that will be different from those in master.
Was does it mean for me in practice? It means that from now on, your plan branch configuration will have some options that previously (before Bamboo 7.0) were available for master branch configuration only for example Triggers, Stages, or Jobs.
Prerequisites for using enhanced plan branch configuration
Before you can use enhanced plan branch configuration capabilities, ensure the following:
- You are using Bamboo Specs to configure plan branches.
Your code and Bamboo Specs are stored in the same Bitbucket Data Center or Bitbucket Cloud and at the same level as the
bamboo-specs
folder. See Integrating Bamboo with Bitbucket Data Center and Integrating Bamboo with Bitbucket Cloud, and Integrating Bamboo with GitHub.Your repository is configured as a linked repository of the Bitbucket type
Plan branch detection is enabled (it’s on by default). See Using plan branches.
Known limitations and changes to previous behavior of Bamboo
Plan branch configuration is not available for deployment projects. Bamboo ignores any Bamboo Specs on deployment projects in plan branches.
When using Specs branches you can’t link any repositories additional to those on master branch. You can change the configuration of that repository but you can’t add or remove it.
To create a new plan on your Specs branch, you must first create it on master.
Default settings from Automatic branch detection configuration, like triggers and notification settings, are ignored by Bamboo Specs branches.
The default repository of a Specs branch is inherited from the master branch and it’s not possible to select a different repository on your Specs branch.
In regular feature branches you can only define one trigger and inherit other triggers or inherit triggers from master. When using Specs branches, you can define multiple triggers.