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.
Install
Pick whichever fits. The binary is jira.
curl -sSfL https://raw.githubusercontent.com/piyush-gambhir/jira-cli/main/install.sh | sh
go install github.com/piyush-gambhir/jira-cli@latest
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/
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.
OAuth scopes are selectable with --scope-preset read|write|admin|all. See the full credentials guide.
export JIRA_SITE=https://acme.atlassian.net export JIRA_EMAIL=me@acme.com export JIRA_TOKEN=your-api-token
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.
jira issueSearch (JQL), create, edit, transition, assign; comments, worklogs, attachments, links, watchers, votes, changelog, propertiesjira projectCRUD, statuses, roles, categories, archive/restorejira componentManage project componentsjira releaseProject versions / releases (create, publish, merge)jira boardAgile boards: issues, backlog, config, epicsjira sprintSprints: create, start, close, add issuesjira epicEpics: update, add/remove issuesjira backlogMove issues to the backlogjira filterSaved JQL filters: list, create, run, sharejira dashboardList and inspect dashboardsjira userSearch, get, assignable, bulk, groupsjira groupGroups and membershipjira permissionCheck effective permissions, permitted projectsjira issuetype · priority · status · resolution · field · labelMetadata & enum lookupsjira jqlJQL autocomplete, suggest, parse/validatejira webhookDynamic (OAuth-app) webhooksjira authlogin, list, use, current, rename, logoutjira whoami · status · serverinfo · version · updateIdentity, connectivity, instance info, versionjira issue search "project = ABC" # table (default) jira issue search "project = ABC" -o json # JSON jira issue search "project = ABC" -o yaml # YAML