$ jira

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 — on Jira Cloud and Server/Data Center, with first-class JSON output for scripts and agents.

MIT License macOS · Linux · Windows Go 1.22+ Unofficial · not affiliated with Atlassian

Install

Pick whichever fits. 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.

Quick 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'

Authentication

Five methods for Cloud and Server/Data Center. CLI flags > environment variables > saved profile.

Methods
oauth2
Cloud — OAuth 2.0 (3LO) browser login with auto-refresh (default)
api_token
Cloud — email + API token (no app needed)
scoped
Cloud — scoped API token via the api.atlassian.com gateway
pat
Server/Data Center — bearer personal access token
basic
Server/Data Center — username + password

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

Commands

Broad coverage of the Jira REST API. Every group has its own --help.

Top-level groups
jira issueSearch (JQL), create, edit, transition, assign; comments, worklogs, attachments, links, watchers, votes, changelog, properties
jira projectCRUD, statuses, roles, categories, archive/restore
jira componentManage project components
jira releaseProject versions / releases (create, publish, merge)
jira boardAgile boards: issues, backlog, config, epics
jira sprintSprints: create, start, close, add issues
jira epicEpics: update, add/remove issues
jira backlogMove issues to the backlog
jira filterSaved JQL filters: list, create, run, share
jira dashboardList and inspect dashboards
jira userSearch, get, assignable, bulk, groups
jira groupGroups and membership
jira permissionCheck effective permissions, permitted projects
jira issuetype · priority · status · resolution · field · labelMetadata & enum lookups
jira jqlJQL autocomplete, suggest, parse/validate
jira webhookDynamic (OAuth-app) webhooks
jira authlogin, list, use, current, rename, logout
jira whoami · status · serverinfo · version · updateIdentity, connectivity, instance info, version
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
Full reference on github.com/piyush-gambhir/jira-cli ↗