-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Affects Version/s: 12.1.3
-
Component/s: Plan Branches
-
None
-
2
-
Severity 3 - Minor
Issue Summary
When a Bamboo plan is configured through the UI, custom triggers can be set up under the Branch tab. However, when the plan is exported as YAML specs, the custom trigger configuration is not included in the exported YAML output.
This creates a gap for plans that are managed via specs. Since the custom trigger information is neither exported nor documented as a supported YAML property, there is no way to define or configure custom triggers through YAML specs alone.
- Teams managing Bamboo plans as code cannot fully replicate their UI-configured plans in YAML, breaking the principle of infrastructure-as-code.
- Any plan migrated to spec-based management loses its custom trigger configuration, requiring manual UI intervention — which defeats the purpose of spec-managed plans.
Steps to Reproduce
- Create a new Bamboo plan via the UI.
- Navigate to the Branch tab in the plan configuration.
- Configure a custom trigger (e.g., a scheduled trigger, repository polling trigger, or any non-default trigger).
- Verify the custom trigger is active and functioning as expected in the UI.
- Export the plan as YAML specs (via Actions > View plan as Bamboo Specs > YAML).
- Review the exported YAML spec file
Expected Results
Custom trigger information should be exported in the YAML specs
Actual Results
Custom trigger information is missing in the YAML specs
Workaround
Option 1:
Use branch-overrides tags in the specs. Below are the prerequisites:
- The linked repository must contain branches that include a Bamboo Specs file (bamboo-specs/bamboo.yaml), making them Specs branches.
- The branch-overrides configuration must be defined within the specs file on each Specs-managed branch. Bamboo reads the overrides from the branch's own specs, not from the master plan.
Refer below example, it demonstrates various trigger types applied to branches identified by name or regular expression. Adjust the regex patterns to match your branching strategy.
branch-overrides:
- master:
triggers:
- bitbucket-server-trigger
- feature/BAM-1234-work-in-progress:
triggers:
- polling:
cron: 0 0 10 ? * *
- bugfix/.*:
triggers:
- polling:
cron: 0 0 10 ? * *
- .*:
triggers:
- cron:
expression: 0 0 12 ? * *
Reference: Overriding branch settings using Bamboo Specs
Option 2:
Use Specs Branch approach by managing the Bamboo Specs code directly within the respective branches of the repository, rather than relying on a single specs configuration for all branches. By doing so, required triggers can be configured under each branch's specs file, giving the flexibility to define branch-specific trigger configurations.