Boards & Sprints
Boards & Sprints
Section titled “Boards & Sprints”Manage Scrum and Kanban boards, sprints, and backlogs.
Prerequisites
Section titled “Prerequisites”- Authenticated profile (
atlcli auth login) - Jira permission: Browse Projects (read), Manage Sprints (sprint operations). Creating a board located in a project needs Administer Projects there; deleting one needs board admin rights.
Issue lists (board issues, board backlog, sprint issues) print a table without --json; the other commands print JSON, pretty-printed even without --json.
Boards
Section titled “Boards”List Boards
Section titled “List Boards”atlcli jira board listOptions:
| Flag | Description |
|---|---|
--project |
Filter by project key. Default: global.project of the profile |
--all-projects |
Ignore --project and global.project; list the boards of every project |
--type |
Filter by type: scrum, kanban, simple |
--name |
Filter by name pattern |
--limit |
Maximum results (default 50) |
board list pages through Jira’s results until it has --limit boards. If more exist, it prints Showing N of M boards; raise --limit for more. on stderr.
Examples
Section titled “Examples”# All boards for a projectatlcli jira board list --project PROJ
# Only Scrum boardsatlcli jira board list --type scrum
# Every Scrum board, whatever the profile's default projectatlcli jira board list --all-projects --type scrum
# Search by nameatlcli jira board list --name "Team"Get Board
Section titled “Get Board”atlcli jira board get --id 123Prints the board’s name, ID, type and project. With --json:
{ "schemaVersion": "1", "board": { "id": 123, "name": "Team Scrum Board", "type": "scrum", "location": { "projectId": 10000, "projectKey": "PROJ", "projectName": "Main Project" } }}Board Issues
Section titled “Board Issues”Get all issues on a board:
atlcli jira board issues --id 123Options:
| Flag | Description |
|---|---|
--id |
Board ID (required) |
--jql |
Filter with JQL query |
--limit |
Maximum results (default 50) |
The table takes the same --columns, --plain, --delimiter, --csv and --no-headers flags as search.
Backlog
Section titled “Backlog”View the backlog for a board:
atlcli jira board backlog --id 123atlcli jira board backlog --id 123 --jql "type = Bug"Options:
| Flag | Description |
|---|---|
--id |
Board ID (required) |
--jql |
Filter with JQL query |
--limit |
Maximum results (default 50) |
Table flags as for board issues.
Create Board
Section titled “Create Board”A board always sits on a saved filter, which decides the issues it shows.
# Scrum board for a project: atlcli makes the filteratlcli jira board create --name "Team AB" --project AB
# Kanban board on a narrower queryatlcli jira board create --name "AB bugs" --type kanban --project AB \ --jql "project = AB AND type = Bug ORDER BY Rank ASC"
# Board on an existing filteratlcli jira board create --name "Release board" --filter 10500 --project ABOptions:
| Flag | Type | Default | Description |
|---|---|---|---|
--name |
string | (required) | Board name; also the name of a filter atlcli makes |
--type |
scrum | kanban |
scrum |
Board type |
--project |
key | global.project |
Project the board is located in |
--filter |
filter ID | Existing saved filter to use as it is | |
--jql |
JQL | project = "<key>" ORDER BY Rank ASC |
Query of the filter atlcli makes; not with --filter |
Without --filter, atlcli first creates a filter named like the board and shares it with --project, as Jira’s own board wizard does; without the share only you would see the board. If the board then cannot be created, that filter is deleted again. Without --project, global.project, --jql or --filter, the command stops with a usage error.
Output (--json):
{ "schemaVersion": "1", "board": { "id": 882, "name": "Team AB", "type": "scrum" }, "filter": { "id": "11334", "created": true }}Keep ORDER BY Rank in your own --jql: a Scrum board needs it to rank its backlog. Jira refuses a filter name you already use; pick another --name or pass --filter.
Delete Board
Section titled “Delete Board”atlcli jira board delete --id 882 --confirmatlcli jira board delete --id 882 --confirm --delete-filterDeleting a board leaves its issues and sprints’ issues untouched. Its saved filter stays unless you add --delete-filter, which reads the filter from the board first and deletes it after the board. If another board still uses the filter, it stays, and the output names it under keptFilter with the ids of those boards (usedByBoards). Only boards you can see are checked; saved searches, subscriptions and boards of other users that you cannot see are not: use --delete-filter for a filter made for this board.
Output (--json): { "schemaVersion": "1", "deleted": 882, "deletedFilter": "11334" }.
Sprints
Section titled “Sprints”--board on sprint list and sprint create falls back to global.board from your config.
List Sprints
Section titled “List Sprints”atlcli jira sprint list --board 123Options:
| Flag | Description |
|---|---|
--board |
Board ID (required, or global.board) |
--state |
Filter: active, future, closed |
--limit |
Maximum results (default 50) |
Like board list, sprint list pages through all results up to --limit and prints Showing N of M sprints; raise --limit for more. on stderr when more exist.
Examples
Section titled “Examples”# Active sprints onlyatlcli jira sprint list --board 123 --state active
# Future (planned) sprintsatlcli jira sprint list --board 123 --state futureGet Sprint
Section titled “Get Sprint”atlcli jira sprint get --id 456Prints the sprint’s name, state, dates, board and goal. With --json:
{ "schemaVersion": "1", "sprint": { "id": 456, "name": "Sprint 14", "state": "active", "startDate": "2025-01-06T09:00:00.000Z", "endDate": "2025-01-17T17:00:00.000Z", "goal": "Complete API refactoring", "boardId": 123 }}For issue counts and points, use sprint report.
Sprint Issues
Section titled “Sprint Issues”atlcli jira sprint issues --id 456atlcli jira sprint issues --id 456 --jql "statusCategory != Done" --limit 100Options:
| Flag | Description |
|---|---|
--id |
Sprint ID (required) |
--jql |
Filter with JQL query |
--limit |
Maximum results (default 50) |
Prints a table; it takes the same --columns, --plain, --delimiter, --csv and --no-headers flags as search. Use --json for {schemaVersion, issues, total}.
Create Sprint
Section titled “Create Sprint”atlcli jira sprint create --board 123 --name "Sprint 15"Options:
| Flag | Description |
|---|---|
--board |
Board ID (required, or global.board) |
--name |
Sprint name (required) |
--start |
Start date (YYYY-MM-DD) |
--end |
End date (YYYY-MM-DD) |
--goal |
Sprint goal |
Examples
Section titled “Examples”# Create with datesatlcli jira sprint create --board 123 --name "Sprint 15" \ --start "2025-01-20" --end "2025-02-03"
# Create with goalatlcli jira sprint create --board 123 --name "Sprint 15" \ --goal "Complete user authentication feature"Start Sprint
Section titled “Start Sprint”Start a planned sprint:
atlcli jira sprint start --id 456atlcli jira sprint start --id 456 --start 2025-01-20 --end 2025-02-03 --goal "Ship login"Options:
| Flag | Description |
|---|---|
--id |
Sprint ID (required) |
--start |
Start date (YYYY-MM-DD) |
--end |
End date (YYYY-MM-DD) |
--goal |
Sprint goal |
Close Sprint
Section titled “Close Sprint”Close an active sprint:
atlcli jira sprint close --id 456--id is the only option; the sprint closes without a prompt.
Delete Sprint
Section titled “Delete Sprint”atlcli jira sprint delete --id 456 --confirm--confirm is required. Prints {schemaVersion, deleted}.
Add Issues to Sprint
Section titled “Add Issues to Sprint”atlcli jira sprint add PROJ-1 PROJ-2 PROJ-3 --sprint 456Options:
| Flag | Description |
|---|---|
--sprint |
Sprint ID (required) |
--issues |
Comma-separated issue keys (alternative to positional args) |
For many issues, use bulk move.
Remove Issues from Sprint
Section titled “Remove Issues from Sprint”Move issues back to backlog:
atlcli jira sprint remove PROJ-1 PROJ-2Options:
| Flag | Description |
|---|---|
--issues |
Comma-separated issue keys (alternative to positional args) |
Rank Issues
Section titled “Rank Issues”Reorder issues on boards and in the backlog, as dragging them in Jira does. The issues land directly before or after the target, in the order you give them:
# Put PROJ-7 and PROJ-8 at the top, above PROJ-1atlcli jira issue rank PROJ-7 PROJ-8 --before PROJ-1
# Move PROJ-3 right below PROJ-12atlcli jira issue rank PROJ-3 --after PROJ-12Options:
| Flag | Description |
|---|---|
--before <key> |
Rank directly above this issue |
--after <key> |
Rank directly below this issue |
--issues |
Comma-separated issue keys (alternative to positional args) |
Give exactly one of --before or --after. Rank is global: one order serves every board that shows the issues. More than 50 issues are sent in batches of 50 and keep their order.
If Jira cannot rank some issues (no permission, or the board has no rank field), the command names them with Jira’s error and exits 1; the others are ranked.
Sprint Report
Section titled “Sprint Report”Get sprint metrics:
atlcli jira sprint report 456atlcli jira sprint report 456 --status-map "Fertig=done"Options:
| Flag | Description |
|---|---|
<id> |
Sprint ID (positional, or --id) |
--points-field |
Story points field ID (default: auto-detected) |
--status-map |
"<status>=todo|wip|done,…": which statuses count as completed (default: flow.statusMap) |
Output:
{ "schemaVersion": "1", "sprint": { "id": 456, "name": "Sprint 14", "state": "closed", "dates": "2026-10-06 - 2026-10-17" }, "pointsField": "customfield_10016", "velocity": 34, "sayDoRatio": 85, "scopeChange": 20, "issues": { "total": 22, "completed": 18, "incomplete": 4, "added": 2, "removed": 1 }, "progress": { "committed": 40, "completed": 34, "added": 5, "removed": 3, "percent": 85, "bar": "[█████████████████───] 85%" }}issues.added and issues.removed count issues; the points are in progress.added and progress.removed. See Analytics: Sprint report for how each value is calculated.
Sprint Review Page
Section titled “Sprint Review Page”Create or update a Confluence sprint review page (goal, metrics, done and not-done work), optionally exported to PDF:
atlcli jira sprint review 456 --space TEAM --export sprint-review.pdfSee Release Notes and Sprint Review Pages for options and templates.
JSON Output
Section titled “JSON Output”atlcli jira sprint list --board 123 --json{ "schemaVersion": "1", "sprints": [ { "id": 456, "name": "Sprint 14", "state": "active", "startDate": "2025-01-06T09:00:00.000Z", "endDate": "2025-01-17T17:00:00.000Z", "goal": "Complete API refactoring", "boardId": 123 } ], "total": 1}Best Practices
Section titled “Best Practices”- Plan sprints in advance - Create future sprints so issues can be assigned
- Set sprint goals - Clear goals improve focus
- Use sprint reports - Review metrics to improve velocity
Related Topics
Section titled “Related Topics”- Analytics - Velocity and burndown charts
- Issues - Work with individual issues
- Bulk Operations - Batch updates on sprint issues