Queues
Workflow queue groups, acquire/release in task templates, and the project Queues view.
Queues
Queue groups let task templates serialize work so only one automated job holds a slot at a time — for example, one agent pipeline at a time per repository or environment.
Queues are defined per workflow and enforced per project at runtime.
Queue groups in the workflow editor
Project admins define groups at Settings → Workflows → [workflow] → Work queue groups.
Each group has a unique queue ID (label). Queue configuration is workflow-scoped; enforcement is per project — two projects using the same global workflow each have independent queue slots.
Acquire and release in task templates
Queue slots are acquired and released explicitly inside task templates:
- Acquire project queue — wait for a free slot (blocks when another run holds the lease)
- Run your pipeline steps (agents, status changes, nested tasks, etc.)
- Release project queue — free the slot for the next waiting run
If a parent run already holds a lease, a child template's acquire/release for the same queue is a no-op.
Leases are released automatically when a run completes, fails, or is cancelled.
Queues sidebar view
Open Queues in the project sidebar (/projects/[id]/queues) to see:
| Column | Meaning |
|---|---|
| Active | The run currently holding the slot, with stage label when configured |
| Waiting | Blocked task runs queued FIFO until the slot frees |
Users with ticket manage permission can:
- Reorder waiting runs
- Remove (cancel) waiting runs
Viewers and members without manage permission can inspect queue state but cannot reorder or cancel.
When to use queues
Use queue groups when parallel automated jobs would conflict — shared environments, rate limits, or single-writer resources. For independent work, skip acquire/release and let runs proceed in parallel.
Status-based agent bindings launch on the immediate path without queue gating. For queued pipelines, use a Run task automation with a template that acquires and releases a queue group.
Setup & configuration
- Add work queue groups on the workflow that owns your task templates.
- Edit task templates to acquire at the start and release in a
finally-style position (before template end or on all exit paths). - Monitor the Queues view while testing.
- Adjust waiting order or cancel stuck runs when you have manage permission.
