Branch‑Based Build Plans in Bamboo: Automate Feature‑Level CI Without Clutter
Learn why Bamboo’s branch‑based build plans are a game‑changer for feature‑level CI, how to enable them, and the trade‑offs to watch out for.
30 Mar 2026, 17:10 UTC

Why Bamboo Branch Plans Matter
When teams ship dozens of feature branches, a single “master” plan can become a bottleneck. Every push triggers a full build, even if only a small change is relevant. Bamboo’s branch‑based build plans solve this by automatically creating a dedicated plan for each branch. The result is isolated CI pipelines, parallel test runs, and a cleaner plan list.
Concrete Problem: The Cluttered Plan List
In a typical monorepo, developers push feature branches to GitHub. The Bamboo plan configured on the main branch runs on every push, leaving the UI crowded with stale builds. When a branch is deleted, its build data remains, consuming disk space and confusing stakeholders.
Thesis: Enable Branch Plans to Isolate and Accelerate CI
By turning on Bamboo’s branch‑based build plan feature, you let the system spin up a lightweight copy of the parent plan for each branch. Each copy inherits tasks, scripts, and environment variables, but runs against the branch’s code. This isolation speeds up feedback, reduces resource contention, and keeps the plan list tidy.
Setting Up Branch Plans: Step‑by‑Step
- Configure the Repository
In Bamboo, open the parent plan and go toPlan Settings > Repository. The repo should be a Git or Mercurial source. Ensure the SSH key used by Bamboo has read access to all branches. - Enable Branch Plans
UnderPlan Settings > Branch Plans, tickEnable branch plans. This tells Bamboo to watch for new branches. - Set a Branch Filter
Define a pattern (e.g.,feature/*) so that only relevant branches trigger plans. This prevents forked or temporary branches from cluttering the system. - Configure Cleanup Policy
ChooseDelete branch plans when the branch is deletedor set a retention window (e.g., 30 days). This keeps the plan list from growing indefinitely. - Push a Test Branch
From a local clone:git checkout -b feature/awesome-feature # make a change git add . git commit -m "Add awesome feature" git push origin feature/awesome-featureAfter the push, Bamboo will detect the new branch, create a plan named
<parent>-feature/awesome-feature, and queue a build. - Verify the Build
Navigate toBuilds > Branch Plansin the UI. The new plan should be listed. ClickRunto confirm it inherits the same tasks as the parent plan. Check the build log to see that the source checkout usesfeature/awesome-feature.
Parallel Execution & Resource Allocation
Because each branch plan is an independent Bamboo plan, you can assign dedicated agents or resource pools. This allows multiple feature tests to run simultaneously without blocking each other. In the Plan Settings > Resources section, map the branch plan to a specific agent pool.
Trade‑Offs & Practical Limitations
- Agent Exhaustion
If your Bamboo server hosts many agents, a surge of feature branches can fill the queue. Monitor agent usage and consider scaling or throttling the branch plan creation rate. - Uncontrolled Branches
A permissive filter (e.g.,*) will create plans for every fork or temporary branch. This wastes build time and storage. Tighten the filter to match your naming convention. - Cleanup Not Enabled by Default
Orphaned branch plans can accumulate if the cleanup option is forgotten. Review theBranch Planssettings quarterly to ensure the policy is still active. - Disk Space for Artifacts
Each branch plan produces its own artifacts. If artifacts are not cleaned up, disk usage can spike. Configure theArtifact retentionpolicy underPlan Settings > Artifacts.
Practical Check: Confirming Isolation
To ensure a branch plan truly isolates its environment, run a build on the parent plan and the branch plan side‑by‑side. Compare the build.log for differences in checkout URLs and environment variables. A quick sanity check: in the branch plan’s log, you should see a line like:
Fetching source from feature/awesome-feature
Actionable Next Steps
- Audit your existing plans and enable branch plans for those that handle feature development.
- Define a branch naming convention and set a corresponding filter.
- Allocate a dedicated agent pool for branch plans if parallel testing is critical.
- Schedule a quarterly review of branch plan cleanup and artifact retention settings.
- Integrate a monitoring dashboard (e.g., Bamboo’s built‑in metrics or a custom Grafana panel) to track the number of active branch plans and agent queue times.
Branch‑based build plans give teams the ability to run CI at the granularity of a feature branch without the overhead of manual plan creation or the clutter of a monolithic build pipeline. By carefully configuring filters, cleanup policies, and resource allocation, you can harness this feature to accelerate feedback loops while keeping your Bamboo instance lean and manageable.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.