Use this skill when the OpenART registry selects tool.acli.00a880020b1307d8 for the current task.
Atlassian CLI (acli) Reference
Command Execution Policy
IMPORTANT: Only acli jira commands can be executed without explicit user confirmation.
All other commands require explicit user confirmation before execution:
acli admin - Organization administration
acli confluence - Confluence operations
acli rovodev - Rovo Dev AI agent
- Any other non-Jira commands
For non-Jira commands: Explain the command and obtain user confirmation before executing.
Authentication
Use OAuth web-based authentication only. Never use API tokens or environment variables.
Authentication Error Handling
When a command fails with an authentication error:
- Check authentication status:
acli jira auth status or acli admin auth status
- Report the status to the user
- If not authenticated, instruct user to run:
acli jira auth login --web
- Do NOT attempt to authenticate on behalf of the user
Switching Accounts
If the user has multiple authenticated accounts:
acli jira auth switch --site mysite.atlassian.net --email user@atlassian.com
acli admin auth switch --org myorgname
Security
Authentication
- Always use OAuth web-based authentication (
acli jira auth login --web).
- Never use API tokens, API keys, or environment variables.
- Never attempt to authenticate on behalf of the user.
Destructive Operations
The following commands are destructive or irreversible — always confirm with the user before executing:
acli jira workitem delete — permanently deletes work items
acli jira project delete — permanently deletes a project and all its work items
acli admin user delete — deletes managed user accounts
acli admin user deactivate — deactivates user accounts
acli jira field delete — moves custom fields to trash
These commands are impactful but reversible:
acli jira workitem archive / unarchive
acli jira project archive / restore
acli admin user cancel-delete — cancels pending deletion
acli jira field cancel-delete — restores field from trash
Agent safety rules:
- Never run destructive commands without explicit user confirmation, even if
--yes is available.
- When bulk-targeting via
--jql or --filter, first run a search with the same query to show the user what will be affected.
- Prefer
--json output to verify targets before applying destructive changes.
- Do not combine
--yes with destructive bulk operations unless the user explicitly requests unattended execution.
Command Structure
acli <command> [<subcommand> ...] {MANDATORY FLAGS} [OPTIONAL FLAGS]
Four top-level command groups:
acli jira - Jira Cloud operations (workitems, projects, boards, sprints, filters, dashboards, fields)
acli admin - Organization administration (user management, auth)
acli rovodev - Rovo Dev AI coding agent (Beta)
acli feedback - Submit feedback/bug reports
Jira Command Quick Reference
Work Item Operations
acli jira workitem view - Read ticket details (description, status, assignee)
acli jira workitem search - Find tickets via JQL queries
acli jira workitem create - Create new ticket (bug, task, story, epic)
acli jira workitem edit - Modify ticket summary, description, labels, type, assignee
acli jira workitem transition - Change ticket status
acli jira workitem assign - Change or remove assignee
acli jira workitem comment create - Add comment
acli jira workitem comment list - Read comments
Project & Board Operations
acli jira project list - List projects (discover project keys)
acli jira project view - View project details
acli jira board search - Find boards by name/keyword
acli jira sprint list-workitems - List sprint tickets (requires --sprint, --board)
Core Concepts
Command Best Practices
- Always use
--json on read commands (view, search, comment list, project list) for machine-readable output.
- Always use
--yes on mutations (edit, transition, assign) to skip interactive prompts.
- Use
--fields to specify return fields (reduces output, improves readability).
- Use
--limit N to cap results (default: 30-50) or --paginate for all pages.
JQL (Jira Query Language)
- JQL is used for searching work items. Pass it via
--jql "...".
- All JQL keywords are case-insensitive, but field values are case-sensitive.
- Use
AND, OR, NOT for logical operations.
- Common functions:
currentUser(), startOfWeek(), openSprints(), endOfDay().
Shortcuts & Syntax
@me - Shorthand for the authenticated user (works in --assignee).
- Labels - Comma-separated without spaces:
--label "bug,backend,urgent".
- Work item types - Use Jira issue types:
Task, Bug, Story, Epic, Sub-task. Pass via --type.
- Keys - Project-prefixed IDs like
PROJ-123. Multiple keys are comma-separated: --key "PROJ-1,PROJ-2".
Field Management
- Status names are project-specific. If transition fails, error lists valid statuses.
- For custom fields, use
--from-json with additionalAttributes. Generate template: acli jira workitem create --generate-json (see Common Patterns).
Recommended Jira Workflow
When working with Jira for the first time or on a new project:
- Discover projects:
acli jira project list --json
- Search for tickets:
acli jira workitem search --jql "project = PROJ AND ..." --json
- View a ticket:
acli jira workitem view PROJ-123 --json
- Create/edit/transition: Use commands from Quick Reference below
- Verify changes:
acli jira workitem view PROJ-123 --json
Common JQL Patterns
Copy these patterns for acli jira workitem search --jql "...":
# All open tickets in a project
--jql "project = PROJ AND status != Done"
# Tickets assigned to me
--jql "assignee = currentUser()"
# Bugs created this week
--jql "project = PROJ AND type = Bug AND created >= startOfWeek()"
# Tickets with a specific label
--jql "project = PROJ AND labels = backend"
# Search by summary text (use ~ for contains)
--jql "project = PROJ AND summary ~ \"search term\""
# High priority open items
--jql "project = PROJ AND priority in (High, Highest) AND status != Done"
# Recently updated (last 7 days)
--jql "project = PROJ AND updated >= -7d ORDER BY updated DESC"
# Tickets in current sprint
--jql "project = PROJ AND sprint in openSprints()"
# Unassigned tickets
--jql "project = PROJ AND assignee is EMPTY"
# My tickets that are overdue
--jql "assignee = currentUser() AND due < now() AND status != Done"
# Epics without children
--jql "project = PROJ AND type = Epic AND issueFunction in hasNoSubtasks()"
Combining conditions: Use AND, OR, and parentheses:
--jql "project = PROJ AND (priority = High OR labels = urgent) AND assignee = currentUser()"
Ordering results: Append ORDER BY clause:
--jql "project = PROJ AND status = 'In Progress' ORDER BY updated DESC"
Common Patterns
Output Formats
Most list/search commands support: --json, --csv, and default table output.
Bulk Operations
Target multiple items via:
--key "KEY-1,KEY-2,KEY-3" - comma-separated keys
--jql "project = TEAM AND status = 'To Do'" - JQL query
--filter 10001 - saved filter ID
--from-file "items.txt" - file with keys/IDs (comma/whitespace/newline separated)
Use --ignore-errors to continue past failures.
JSON Templates
Many create/edit commands support --generate-json to produce a template, and --from-json to consume it:
acli jira workitem create --generate-json > template.json
# edit template.json
acli jira workitem create --from-json template.json
Quick Reference: Most Common Operations
Work Items
# Create
acli jira workitem create --summary "Fix login bug" --project "TEAM" --type "Bug"
acli jira workitem create --summary "New feature" --project "TEAM" --type "Story" --assignee "@me" --label "frontend,p1"
# Search
acli jira workitem search --jql "project = TEAM AND assignee = currentUser()" --json
acli jira workitem search --jql "project = TEAM AND status = 'In Progress'" --fields "key,summary,assignee" --csv
# View
acli jira workitem view KEY-123
acli jira workitem view KEY-123 --json --fields "*all"
# Edit
acli jira workitem edit --key "KEY-123" --summary "Updated title" --assignee "user@atlassian.com"
# Transition
acli jira workitem transition --key "KEY-123" --status "Done"
acli jira workitem transition --jql "project = TEAM AND sprint in openSprints()" --status "In Progress"
# Assign
acli jira workitem assign --key "KEY-123" --assignee "@me"
# Comment
acli jira workitem comment create --key "KEY-123" --body "Work completed"
# Bulk create
acli jira workitem create-bulk --from-csv issues.csv
Projects
acli jira project list --paginate --json
acli jira project view --key "TEAM" --json
acli jira project create --from-project "TEAM" --key "NEW" --name "New Project"
Boards & Sprints
acli jira board search --project "TEAM"
acli jira board list-sprints --id 123 --state active
acli jira sprint list-workitems --sprint 1 --board 6
Detailed Command Reference
For complete flag details, parameters, and examples for every command:
- Jira work item commands (create, edit, search, assign, transition, comment, clone, link, archive, attachment, watcher): See references/jira-workitem-commands.md
- All other commands (jira project/board/sprint/filter/dashboard/field, admin, rovodev, feedback): See references/other-commands.md
1---2name: tool-acli-00a880020b1307d83description: Reference guide for the Atlassian CLI (acli) - a command-line tool for interacting with Jira Cloud and Atlassian organization administration. Use this skill when the user wants to perform Jira operations (create/edit/search/transition work items, manage projects, boards, sprints, filters, dashboards), administer Atlassian organizations (manage users, authentication), or automate Atlassian workflows from the terminal. Covers all acli commands including: jira workitem (create, edit, search, assign, transition, comment, clone, link, archive), jira project (create, list, update, archive), jira board/sprint, jira filter/dashboard, admin user management, and rovodev (Rovo Dev AI agent). Requires an authenticated acli binary already installed on the system.4---5Use this skill when the OpenART registry selects `tool.acli.00a880020b1307d8` for the current task.67# Atlassian CLI (acli) Reference89## Command Execution Policy1011**IMPORTANT: Only `acli jira` commands can be executed without explicit user confirmation.**1213All other commands require explicit user confirmation before execution:14- `acli admin` - Organization administration15- `acli confluence` - Confluence operations16- `acli rovodev` - Rovo Dev AI agent17- Any other non-Jira commands1819**For non-Jira commands**: Explain the command and obtain user confirmation before executing.2021## Authentication2223Use OAuth web-based authentication only. Never use API tokens or environment variables.2425### Authentication Error Handling2627When a command fails with an authentication error:281. Check authentication status: `acli jira auth status` or `acli admin auth status`292. Report the status to the user303. If not authenticated, instruct user to run: `acli jira auth login --web`314. Do NOT attempt to authenticate on behalf of the user3233### Switching Accounts3435If the user has multiple authenticated accounts:36```bash37acli jira auth switch --site mysite.atlassian.net --email user@atlassian.com38acli admin auth switch --org myorgname39```4041## Security4243### Authentication44- Always use OAuth web-based authentication (`acli jira auth login --web`).45- Never use API tokens, API keys, or environment variables.46- Never attempt to authenticate on behalf of the user.4748### Destructive Operations49The following commands are **destructive or irreversible** — always confirm with the user before executing:50- `acli jira workitem delete` — permanently deletes work items51- `acli jira project delete` — permanently deletes a project and all its work items52- `acli admin user delete` — deletes managed user accounts53- `acli admin user deactivate` — deactivates user accounts54- `acli jira field delete` — moves custom fields to trash5556These commands are **impactful but reversible**:57- `acli jira workitem archive` / `unarchive`58- `acli jira project archive` / `restore`59- `acli admin user cancel-delete` — cancels pending deletion60- `acli jira field cancel-delete` — restores field from trash6162**Agent safety rules:**631. Never run destructive commands without explicit user confirmation, even if `--yes` is available.642. When bulk-targeting via `--jql` or `--filter`, first run a search with the same query to show the user what will be affected.653. Prefer `--json` output to verify targets before applying destructive changes.664. Do not combine `--yes` with destructive bulk operations unless the user explicitly requests unattended execution.6768## Command Structure6970```71acli <command> [<subcommand> ...] {MANDATORY FLAGS} [OPTIONAL FLAGS]72```7374Four top-level command groups:75- `acli jira` - Jira Cloud operations (workitems, projects, boards, sprints, filters, dashboards, fields)76- `acli admin` - Organization administration (user management, auth)77- `acli rovodev` - Rovo Dev AI coding agent (Beta)78- `acli feedback` - Submit feedback/bug reports7980## Jira Command Quick Reference8182### Work Item Operations83- **`acli jira workitem view`** - Read ticket details (description, status, assignee)84- **`acli jira workitem search`** - Find tickets via JQL queries85- **`acli jira workitem create`** - Create new ticket (bug, task, story, epic)86- **`acli jira workitem edit`** - Modify ticket summary, description, labels, type, assignee87- **`acli jira workitem transition`** - Change ticket status88- **`acli jira workitem assign`** - Change or remove assignee89- **`acli jira workitem comment create`** - Add comment90- **`acli jira workitem comment list`** - Read comments9192### Project & Board Operations93- **`acli jira project list`** - List projects (discover project keys)94- **`acli jira project view`** - View project details95- **`acli jira board search`** - Find boards by name/keyword96- **`acli jira sprint list-workitems`** - List sprint tickets (requires `--sprint`, `--board`)9798## Core Concepts99100### Command Best Practices101- **Always use `--json`** on read commands (`view`, `search`, `comment list`, `project list`) for machine-readable output.102- **Always use `--yes`** on mutations (`edit`, `transition`, `assign`) to skip interactive prompts.103- **Use `--fields`** to specify return fields (reduces output, improves readability).104- **Use `--limit N`** to cap results (default: 30-50) or `--paginate` for all pages.105106### JQL (Jira Query Language)107- JQL is used for searching work items. Pass it via `--jql "..."`.108- All JQL keywords are case-insensitive, but field values are case-sensitive.109- Use `AND`, `OR`, `NOT` for logical operations.110- Common functions: `currentUser()`, `startOfWeek()`, `openSprints()`, `endOfDay()`.111112### Shortcuts & Syntax113- **`@me`** - Shorthand for the authenticated user (works in `--assignee`).114- **Labels** - Comma-separated without spaces: `--label "bug,backend,urgent"`.115- **Work item types** - Use Jira issue types: `Task`, `Bug`, `Story`, `Epic`, `Sub-task`. Pass via `--type`.116- **Keys** - Project-prefixed IDs like `PROJ-123`. Multiple keys are comma-separated: `--key "PROJ-1,PROJ-2"`.117118### Field Management119- Status names are project-specific. If transition fails, error lists valid statuses.120- For custom fields, use `--from-json` with `additionalAttributes`. Generate template: `acli jira workitem create --generate-json` (see Common Patterns).121122## Recommended Jira Workflow123124When working with Jira for the first time or on a new project:1251261. **Discover projects**: `acli jira project list --json`1272. **Search for tickets**: `acli jira workitem search --jql "project = PROJ AND ..." --json`1283. **View a ticket**: `acli jira workitem view PROJ-123 --json`1294. **Create/edit/transition**: Use commands from Quick Reference below1305. **Verify changes**: `acli jira workitem view PROJ-123 --json`131132## Common JQL Patterns133134Copy these patterns for `acli jira workitem search --jql "..."`:135136```bash137# All open tickets in a project138--jql "project = PROJ AND status != Done"139140# Tickets assigned to me141--jql "assignee = currentUser()"142143# Bugs created this week144--jql "project = PROJ AND type = Bug AND created >= startOfWeek()"145146# Tickets with a specific label147--jql "project = PROJ AND labels = backend"148149# Search by summary text (use ~ for contains)150--jql "project = PROJ AND summary ~ \"search term\""151152# High priority open items153--jql "project = PROJ AND priority in (High, Highest) AND status != Done"154155# Recently updated (last 7 days)156--jql "project = PROJ AND updated >= -7d ORDER BY updated DESC"157158# Tickets in current sprint159--jql "project = PROJ AND sprint in openSprints()"160161# Unassigned tickets162--jql "project = PROJ AND assignee is EMPTY"163164# My tickets that are overdue165--jql "assignee = currentUser() AND due < now() AND status != Done"166167# Epics without children168--jql "project = PROJ AND type = Epic AND issueFunction in hasNoSubtasks()"169```170171**Combining conditions**: Use `AND`, `OR`, and parentheses:172```bash173--jql "project = PROJ AND (priority = High OR labels = urgent) AND assignee = currentUser()"174```175176**Ordering results**: Append `ORDER BY` clause:177```bash178--jql "project = PROJ AND status = 'In Progress' ORDER BY updated DESC"179```180181## Common Patterns182183### Output Formats184Most list/search commands support: `--json`, `--csv`, and default table output.185186### Bulk Operations187Target multiple items via:188- `--key "KEY-1,KEY-2,KEY-3"` - comma-separated keys189- `--jql "project = TEAM AND status = 'To Do'"` - JQL query190- `--filter 10001` - saved filter ID191- `--from-file "items.txt"` - file with keys/IDs (comma/whitespace/newline separated)192193Use `--ignore-errors` to continue past failures.194195### JSON Templates196Many create/edit commands support `--generate-json` to produce a template, and `--from-json` to consume it:197```bash198acli jira workitem create --generate-json > template.json199# edit template.json200acli jira workitem create --from-json template.json201```202203## Quick Reference: Most Common Operations204205### Work Items206```bash207# Create208acli jira workitem create --summary "Fix login bug" --project "TEAM" --type "Bug"209acli jira workitem create --summary "New feature" --project "TEAM" --type "Story" --assignee "@me" --label "frontend,p1"210211# Search212acli jira workitem search --jql "project = TEAM AND assignee = currentUser()" --json213acli jira workitem search --jql "project = TEAM AND status = 'In Progress'" --fields "key,summary,assignee" --csv214215# View216acli jira workitem view KEY-123217acli jira workitem view KEY-123 --json --fields "*all"218219# Edit220acli jira workitem edit --key "KEY-123" --summary "Updated title" --assignee "user@atlassian.com"221222# Transition223acli jira workitem transition --key "KEY-123" --status "Done"224acli jira workitem transition --jql "project = TEAM AND sprint in openSprints()" --status "In Progress"225226# Assign227acli jira workitem assign --key "KEY-123" --assignee "@me"228229# Comment230acli jira workitem comment create --key "KEY-123" --body "Work completed"231232# Bulk create233acli jira workitem create-bulk --from-csv issues.csv234```235236### Projects237```bash238acli jira project list --paginate --json239acli jira project view --key "TEAM" --json240acli jira project create --from-project "TEAM" --key "NEW" --name "New Project"241```242243### Boards & Sprints244```bash245acli jira board search --project "TEAM"246acli jira board list-sprints --id 123 --state active247acli jira sprint list-workitems --sprint 1 --board 6248```249250## Detailed Command Reference251252For complete flag details, parameters, and examples for every command:253254- **Jira work item commands** (create, edit, search, assign, transition, comment, clone, link, archive, attachment, watcher): See [references/jira-workitem-commands.md](references/jira-workitem-commands.md)255- **All other commands** (jira project/board/sprint/filter/dashboard/field, admin, rovodev, feedback): See [references/other-commands.md](references/other-commands.md)