Custom Trigger Configuration Not Exported or Supported in Bamboo YAML Specs

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Low
    • 13.0.0, 12.1.8
    • 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

      1. Create a new Bamboo plan via the UI.
      2. Navigate to the Branch tab in the plan configuration.
      3. Configure a custom trigger (e.g., a scheduled trigger, repository polling trigger, or any non-default trigger).
      4. Verify the custom trigger is active and functioning as expected in the UI.
      5. Export the plan as YAML specs (via Actions > View plan as Bamboo Specs > YAML).
      6. 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.

              Assignee:
              Mateusz Szmal
              Reporter:
              Venkata Sateesh Pentela
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: