Bulk Operations
Bulk Operations
Section titled “Bulk Operations”Perform batch operations on multiple issues.
Prerequisites
Section titled “Prerequisites”- Authenticated profile (
atlcli auth login) - Jira permission: Edit Issues for all matched issues
Bulk Edit
Section titled “Bulk Edit”Update multiple issues at once using --set field=value syntax:
atlcli jira bulk edit --jql "project = PROJ AND labels = cleanup" --set "labels=backend,tech-debt"Options:
| Flag | Description |
|---|---|
--jql | JQL query to select issues |
--issues | Comma-separated issue keys |
--set | Set field value: field=value (repeatable) |
--dry-run | Preview changes without applying |
--limit | Maximum issues to update |
--confirm | Skip confirmation prompt |
Examples
Section titled “Examples”# Set priorityatlcli jira bulk edit --jql "project = PROJ AND type = Bug" --set "priority=High"
# Set assigneeatlcli jira bulk edit --jql "status = 'To Do' AND sprint in openSprints()" \ --set "assignee=alice@company.com"
# Set multiple fieldsatlcli jira bulk edit --jql "labels = needs-review" \ --set "priority=Medium" \ --set "labels=reviewed"
# Set custom fieldatlcli jira bulk edit --jql "project = PROJ" \ --set "customfield_10001=value"
# By issue keysatlcli jira bulk edit --issues PROJ-1,PROJ-2,PROJ-3 --set "priority=Low"Label Operations
Section titled “Label Operations”For labels, use the dedicated bulk label commands:
# Add a label to matching issuesatlcli jira bulk label add release-2.0 --jql "sprint in openSprints()"
# Remove a label from matching issuesatlcli jira bulk label remove deprecated --jql "project = PROJ"
# Preview with dry-runatlcli jira bulk label add reviewed --jql "..." --dry-runBulk Transition
Section titled “Bulk Transition”Move multiple issues to a new status:
atlcli jira bulk transition --jql "project = PROJ AND status = 'To Do'" --to "In Progress"Options:
| Flag | Description |
|---|---|
--jql | JQL query to select issues |
--to | Target status name (required) |
--dry-run | Preview changes |
--limit | Maximum issues to process |
Examples
Section titled “Examples”# Close all bugs in old sprintatlcli jira bulk transition \ --jql "type = Bug AND sprint = 'Sprint 10' AND status != Done" \ --to Done
# Start work on all assigned issuesatlcli jira bulk transition \ --jql "assignee = currentUser() AND status = 'To Do'" \ --to "In Progress"Bulk Move
Section titled “Bulk Move”Move issues between sprints or projects:
# Move to sprintatlcli jira bulk move --jql "labels = release-2.0" --sprint 456
# Move to backlogatlcli jira bulk move --jql "sprint = 123 AND status = 'To Do'" --backlogOptions:
| Flag | Description |
|---|---|
--jql | JQL query |
--issues | Comma-separated keys |
--sprint | Target sprint ID |
--backlog | Move to backlog |
--dry-run | Preview changes |
--confirm | Skip confirmation |
Bulk Delete
Section titled “Bulk Delete”Delete multiple issues:
atlcli jira bulk delete --jql "project = PROJ AND labels = test" --confirmOptions:
| Flag | Description |
|---|---|
--jql | JQL query |
--issues | Comma-separated keys |
--confirm | Required for destructive operation |
--dry-run | Preview what would be deleted |
# Preview firstatlcli jira bulk delete --jql "project = TEST AND created < -90d" --dry-run
# Then executeatlcli jira bulk delete --jql "project = TEST AND created < -90d" --confirmDry Run
Section titled “Dry Run”All bulk operations support --dry-run to preview changes:
atlcli jira bulk edit --jql "..." --set "priority=High" --dry-runOutput:
Dry run - no changes will be made
Issues to update (15 total): PROJ-101 Fix login bug PROJ-102 Update documentation PROJ-103 Refactor auth module ... and 12 more
Changes: priority: Current → High
Run without --dry-run to apply changes.Progress and Errors
Section titled “Progress and Errors”For large batches, progress is shown:
Updating issues: 45/100 [████████░░░░░░░░░░░░] 45%Failed updates are reported:
Completed: 98/100Failed: 2 PROJ-150: Permission denied PROJ-175: Invalid transitionRate Limiting
Section titled “Rate Limiting”Bulk operations automatically handle rate limiting:
- Requests are batched
- Automatic retry with backoff on 429 errors
- Progress continues after transient failures
JSON Output
Section titled “JSON Output”atlcli jira bulk edit --jql "..." --set "priority=High" --json{ "schemaVersion": "1", "operation": "edit", "total": 15, "successful": 15, "failed": 0, "issues": [ {"key": "PROJ-101", "status": "updated"}, {"key": "PROJ-102", "status": "updated"} ]}Best Practices
Section titled “Best Practices”- Always dry-run first - Preview before making changes
- Use specific JQL - Narrow your query to avoid unintended updates
- Batch appropriately - Use
--limitfor very large result sets - Check permissions - Ensure you have edit rights for all matched issues
Related Topics
Section titled “Related Topics”
Jira and Confluence are trademarks of Atlassian Corporation Plc.
atlcli is not affiliated with, endorsed by, or sponsored by Atlassian.