Part of atlassian-cli

Jira CLI

Search, create, and automate Jira issues from the terminal. JQL queries, bulk transitions, sprint management, and CI/CD integration.

What is the Jira CLI?

The Jira CLI (atlassian-cli jira) is a command-line tool that lets you drive Jira Cloud from a terminal or script instead of the web UI. Issues, projects, sprints, automation rules, webhooks, audit logs, and custom fields are all addressable with one binary. Because the output is structured (JSON / CSV / YAML / table), it composes cleanly with jq, spreadsheets, and CI pipelines — making it a natural fit for bulk changes, reporting, and "Jira as code" workflows.

It's part of atlassian-cli, a single open-source Rust binary that also covers Confluence, Bitbucket, and Jira Service Management. Installation is a one-liner via Homebrew or Cargo; authentication uses a standard Atlassian Cloud API token.

When to use a Jira CLI

Jira Features

Everything you need to manage Jira from the command line

Issue CRUD & JQL Search

Create, read, update, and delete issues. Search with full JQL support. Filter by project, status, assignee, labels, and custom fields.

Bulk Transitions

Transition hundreds of issues at once with dry-run previews. Concurrent execution with configurable concurrency and progress tracking.

Sprint Management

List sprints, generate velocity reports, and export sprint data as CSV. Track story points, cycle times, and issue breakdowns.

Automation Rules

List, enable, disable, and export Jira automation rules. Manage your automation configuration as code alongside your project.

Webhooks & Audit Logs

Register, list, and delete webhooks. Query audit logs with date ranges and event filters for compliance and debugging.

Role & Permission Management

Manage project roles, permission schemes, and user assignments. Audit who has access to what across your Jira projects.

Real Commands

Actual CLI commands from production runbooks

Bulk Transition Issues

# Preview issues to transition (dry-run)
atlassian-cli jira bulk transition \
  --jql "project = PROJ AND status = 'In Progress'" \
  --transition "Done" \
  --dry-run

# Execute the transition with concurrency
atlassian-cli jira bulk transition \
  --jql "project = PROJ AND status = 'In Progress'" \
  --transition "Done" \
  --concurrency 4 \
  --comment "Closed via bulk transition" \
  --profile prod

Generate Sprint Report

# Fetch active sprint issues as JSON
atlassian-cli jira issue search \
  --profile prod \
  --jql "project = PROJ AND Sprint in openSprints()" \
  --format json

# Export sprint data to CSV for reporting
atlassian-cli jira issue search \
  --profile prod \
  --jql "project = PROJ AND Sprint = 42" \
  --format csv > sprint-42.csv

# Pipe to jq for cycle time analysis
atlassian-cli jira issue search \
  --jql "project = PROJ AND Sprint = 42" \
  --format json | \
  jq '[.[] | {key, status: .fields.status.name, points: .fields.customfield_10016}]'

Quick Start

Install and start managing Jira in under a minute

1. Install

# Homebrew (macOS & Linux)
brew install omar16100/atlassian-cli/atlassian-cli

# Or via Cargo
cargo install atlassian-cli

2. Authenticate

# Add your Jira instance (HTTPS required)
atlassian-cli auth login \
  --profile work \
  --base-url https://your-domain.atlassian.net \
  --email you@company.com

# Verify connection
atlassian-cli auth test --profile work

3. Start using

# Search your issues
atlassian-cli jira issue search \
  --profile work \
  --jql "assignee = currentUser()"

Jira command groups

Every group links to its section of the full command reference.

Group Covers
jira issue search / get / create / update / transition / assign / delete Issue CRUD. JQL search with any field, assignee/status filters, custom field payloads via --field 'customfield_XXXXX=...'.
jira project / components / versions Project inventory, component and version management.
jira roles List roles, add/remove actors, audit who has which role on which project.
jira fields / workflows Discover custom field IDs, list and export workflows for version-controlled config.
jira bulk transition / assign / export Run operations across every issue matching a JQL query. Dry-run, concurrency, progress tracking.
jira automation / webhooks / audit Inspect automation rules, manage webhooks, query the audit log with date/event filters.

Full flags, output schemas, and CI patterns are documented in the atlassian-cli command reference. For authentication setup see Authentication & Profiles.

Frequently asked questions

Is there an official Jira CLI?

Atlassian ships acli for some administrative scenarios, but it focuses on Atlassian's own SDK/plugin workflows rather than day-to-day issue management. atlassian-cli is an independent open-source Rust CLI focused on Jira Cloud automation — issue CRUD, JQL search, bulk operations, and CI-friendly output. See Jira CLI tools compared for a detailed comparison.

How do I log in?

Generate an Atlassian API token at id.atlassian.com/manage-profile/security/api-tokens, then run atlassian-cli auth login --profile work --base-url https://your-domain.atlassian.net --email you@company.com --token $TOKEN --default. The full flow — including multiple profiles and Bitbucket bearer tokens — is in the auth guide.

Can I run it in GitHub Actions / GitLab CI / Jenkins?

Yes. Install via Cargo or a prebuilt binary (see install guide), then set ATLASSIAN_API_TOKEN as a secret. With a minimal profile committed, the CLI reads the token from the environment. Machine-readable output (--format json, --format quiet) and sane exit codes make it easy to gate pipelines on results.

Does it support custom fields?

Yes. Discover IDs with atlassian-cli jira fields list, then pass values via repeatable --field 'customfield_10010={"value":"Internal"}' flags on create and update. Each --field takes the raw JSON Jira expects, so every field type (select, cascade, formula, sprint, epic link) is supported.

How do I bulk-transition issues safely?

Always run with --dry-run first: atlassian-cli jira bulk transition --jql "project = DEV AND status = 'In Progress'" --transition "Done" --dry-run. That prints the full list of keys that would change, without calling the mutation API. Remove --dry-run once it looks right. The bulk transition runbook walks through a production example end-to-end.

Does it work with Jira Data Center / Server?

atlassian-cli targets Jira Cloud's REST API. Some Data Center instances expose compatible endpoints, but it isn't the primary focus; check the GitHub repo for current DC coverage.

Is it free?

Yes — MIT-licensed, no subscription, no telemetry tied to accounts. You'll need an Atlassian Cloud license for the Jira instance itself, but the CLI is free to use in personal and commercial projects.

Jira CLI FAQ

Working with Jira from the command line

How do I use Jira from the command line?

atlassian-cli is a Jira CLI for issues, projects, bulk operations, workflows and automation. After authenticating, run commands like atlassian-cli jira issue search --jql "project = DEV AND status = Open" or atlassian-cli jira issue create --project DEV --issue-type Task --summary "...". See the full Jira command reference.

Can I write Jira descriptions in Markdown from the CLI?

Yes. Since version 0.4, --description and comments convert Markdown (headings, lists, bold, code, links) into Atlassian Document Format (ADF), so formatting is preserved in Jira.

Is atlassian-cli the same as jira-cli or Atlassian's official acli?

No. atlassian-cli is an independent, open-source tool that covers Jira, Confluence, Bitbucket and JSM in one binary. It is not affiliated with Atlassian (which ships its own official acli) and is a separate project from jira-cli.

Is the Jira CLI free?

Yes. atlassian-cli is free and open source under the MIT License. Get it on the install page or GitHub.

Copied!