Jira Epic Campaigns
Campaigns turn a Jira Epic into a managed delivery plan instead of a series of unrelated one-ticket runs.
Use campaigns when an Epic contains multiple child issues that should be planned, grouped, sequenced, and reviewed as delivery slices.
Where to Configure
Section titled “Where to Configure”Open the customer controller, then go to Campaigns.
Campaigns are controller-owned. The selected execution mode still determines where the code work runs:
- Cloud Hosted campaign jobs run on MergeLoom-managed workers.
- Self Hosted campaign jobs run on your enrolled worker.
Jira Epic Intake
Section titled “Jira Epic Intake”Campaign mode starts from Jira Epics returned by workspace intake rules.
Recommended labeling:
- add
mergeloomto the Epic - add an Epic
repo-<alias>label when all child issues use the same default repository - add child
repo-<alias>labels only when a child issue overrides the Epic default
Standalone Jira intake skips child issues that belong to an active Jira Epic campaign. If the Epic stops matching campaign intake, the campaign can be archived and standalone intake can resume for child issues later.
Campaign Planning
Section titled “Campaign Planning”Campaign planning can:
- import child issues as campaign nodes
- preserve dependency edges
- assign lanes
- infer write scopes from ticket content
- group coupled same-repository tickets into execution slices
- keep docs or tests work attached to relevant implementation slices
- use wait-for-merge gating for stacked work
Execution groups can have stable display keys such as MER-52-S1.
Campaign Controls
Section titled “Campaign Controls”The Campaigns page can expose controls such as:
- import Epic
- sync source
- replan
- pause
- resume
- retry node
- skip node
- edit dependency relationships
- review lane and slice state
Pause requests cancellation for active campaign-owned work and clears queued campaign jobs. Active workers receive cancellation through their normal status and polling path, so it is not always instantaneous.
Publish and Review
Section titled “Publish and Review”Campaign completion can create grouped PRs/MRs for delivery slices.
Current behavior to know:
- successful grouped publish can comment and transition every ticket in the slice
- failed or blocked grouped completion should affect the driving ticket, not every future ticket in the slice
- cancelled grouped completion avoids Jira side effects
- campaign refresh can inspect existing PRs/MRs and retarget child review requests after parent merge
Troubleshooting
Section titled “Troubleshooting”| Symptom | Check |
|---|---|
| Epic does not create a campaign | Intake JQL, mergeloom label, Epic type, Jira connection, and controller audit. |
| Child issue routes to the wrong repo | Epic default repo-<alias> label and child override labels. |
| Campaign remains paused | Campaign status, active worker status, and queued jobs. |
| One failure moved too many tickets | Confirm the job is grouped and inspect campaign activity; current intended behavior limits failed/blocked side effects to the driving ticket. |
| Slice is waiting | Dependency edge, parent PR/MR merge state, publish base branch, and campaign refresh state. |
Related pages: