Enhanced plan branch configuration
In Bamboo 7.0, we’re enhancing plan branch configuration. From now on, you can configure plan branches using Bamboo Specs. In this way you create a custom plan brach 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 in Bamboo 7.0, your code must be stored in Bitbucket Server and you must be using Bamboo Specs for plan configuration.
By default, all plan branches in Bamboo 7.0 are configurable.
Bamboo Specs are not applied to plan branches which were created before upgrading to version 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 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 configuration for features branches which will be different from that on master branch.
Was does it mean for me in practice? It means that from now on, you 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 plan branch configuration
You must be using Bamboo Specs to configure plan branches.
Your code and Bamboo Specs must be stored in the same Bitbucket Server repository, at the same level as the bamboo-specs folder. See Integrating Bamboo with Bitbucket Server
In Bamboo, your repository must be configured as linked repository of the Bitbucket type.
Bamboo must have plan branch detection enabled (it’s turned on by default in Bamboo).
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.
The Other tab, along with all its options, is not available in the plan configuration screen for divergent branches.
When 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.