Manage Jira
from the command line.
Search with JQL, create and transition issues, comment, log work, attach files, manage projects, components, releases, sprints and boards, with first-class JSON output for scripts and agents.
01Install
Get the binary
Pick whichever fits your setup. The binary is jira.
Recommended, install script
curl -sSfL https://raw.githubusercontent.com/piyush-gambhir/jira-cli/main/install.sh | sh
Via Go
go install github.com/piyush-gambhir/jira-cli@latest
Build from source
git clone https://github.com/piyush-gambhir/jira-cli.git
cd jira-cli
make install # or: go build -o jira . && sudo mv jira /usr/local/bin/
From releases
Download a prebuilt binary for your platform from the
releases page
and place it on your PATH.
02Quick start
Authenticate once, then operate
Add -o json to any command for machine-readable output.
# 1. Authenticate, browser OAuth by default (or use an API token) jira auth login jira auth login --type api_token # paste site / email / API token # 2. Confirm who you are jira whoami jira status # 3. Find your open work with JQL jira issue search "assignee = currentUser() AND statusCategory != Done" -o json # 4. Create, transition, comment jira issue create -p ABC --type Task --summary "Set up CI" -d "Details here" jira issue transition ABC-123 "In Progress" jira issue comment ABC-123 --body "On it" # 5. Pipe JSON to jq jira issue search "project = ABC" -o json | jq '.[].key'
03Authentication
Five ways to sign in
For Cloud and Server/Data Center. Precedence: CLI flags > environment variables > saved profile.
oauth2Cloud
OAuth 2.0 (3LO) browser login with auto-refresh. Default.
api_tokenCloud
Email + API token. No OAuth app needed, the simplest setup.
scopedCloud
Scoped API token via the
api.atlassian.com gateway.patServer / DC
Bearer personal access token for self-hosted instances.
basicServer / DC
Username + password for self-hosted instances.
OAuth scopes are selectable with --scope-preset read|write|admin|all. See the full credentials guide.
Environment variables (CI / agents)
export JIRA_SITE=https://acme.atlassian.net export JIRA_EMAIL=me@acme.com export JIRA_TOKEN=your-api-token
Multiple accounts (profiles)
jira auth login --name work # save a named profile jira auth list # list profiles (current marked *) jira auth use work # switch the active profile jira auth current # show the active profile + account jira --profile work issue list # one-off override export JIRA_PROFILE=work # per-shell override
04Commands
Broad coverage of the Jira API
Every group has its own --help. A selection of the top-level groups:
jira issue
Search (JQL), create, edit, transition, assign; comments, worklogs, attachments, links, watchers, votes, changelog, properties
jira project
CRUD, statuses, roles, categories, archive/restore
jira component
Manage project components
jira release
Project versions / releases (create, publish, merge)
jira board
Agile boards: issues, backlog, config, epics
jira sprint
Sprints: create, start, close, add issues
jira epic
Epics: update, add/remove issues
jira backlog
Move issues to the backlog
jira filter
Saved JQL filters: list, create, run, share
jira dashboard
List and inspect dashboards
jira user
Search, get, assignable, bulk, groups
jira group
Groups and membership
jira permission
Check effective permissions, permitted projects
jira jql
JQL autocomplete, suggest, parse / validate
jira webhook
Dynamic (OAuth-app) webhooks
jira auth
login, list, use, current, rename, logout
jira issuetype · priority · status · resolution · field · label
Metadata & enum lookups
jira whoami · status · serverinfo · version · update
Identity, connectivity, instance info, self-update
Output formats
jira issue search "project = ABC" # table (default) jira issue search "project = ABC" -o json # JSON jira issue search "project = ABC" -o yaml # YAML