Loading...
Loading...
Full Jira Data Center control from the terminal. Manage issues, sprints, boards, epics, projects, users, and filters. Use --json flag for machine-readable output when parsing results programmatically.
npx skill4agent add fatecannotbealtered/jira-cli jira-clihttps://jira.company.comhttps://jira-cli login --host <URL> --token <PAT>jira-cli doctor --jsonauthValidtrue~/.jira-cli/config.jsonJIRA_HOSTJIRA_TOKEN--json--forceissue delete--force--dry-runissue create --project PROJ --summary "test" --type Task --dry-run --jsonissue deleteissue bulk-transitionsprint close~/.jira-cli/audit/# View issues (flat JSON by default — token-efficient)
jira-cli issue get PROJ-123 --json
jira-cli issue get PROJ-123 --json --fields key,summary,status,assignee # Only specific fields
jira-cli issue get PROJ-123 --json --raw # Full Jira API response
jira-cli issue list --project PROJ --json
jira-cli issue list --project PROJ --status "In Progress" --assignee me --json
jira-cli issue list --project PROJ --type Bug --priority High --limit 20 --json
# Create and edit
jira-cli issue create --project PROJ --summary "Fix login bug" --type Bug --json
jira-cli issue create --project PROJ --summary "New feature" --type Story --assignee me --priority High --json
jira-cli issue create --project PROJ --summary "Sized story" --type Story --field "Story Points=5" --json
jira-cli issue edit PROJ-123 --summary "Updated summary" --priority Medium
jira-cli issue edit PROJ-123 --field "Story Points=8" --field "Team=Backend"
jira-cli issue delete PROJ-123 --force # Skip confirmation prompt
# Clone an issue
jira-cli issue clone PROJ-123 --json # Clone with default summary
jira-cli issue clone PROJ-123 --summary "New title" --json # Clone with custom summary
jira-cli issue clone PROJ-123 --with-links --json # Clone with issue links
# Status transitions
jira-cli issue transitions PROJ-123 --json # List available transitions
jira-cli issue transition PROJ-123 "In Progress" # Transition to status (name required)
jira-cli issue transition PROJ-123 "Done" --json
# Bulk transition
jira-cli issue bulk-transition "Done" --issues PROJ-1,PROJ-2,PROJ-3 --json
jira-cli issue bulk-transition "In Progress" --jql "project = PROJ AND sprint = 10 AND status = 'To Do'" --json
# Assignment and watching
jira-cli issue assign PROJ-123 me # Assign to current user
jira-cli issue assign PROJ-123 johndoe # Assign by username (DC uses name, not accountId)
jira-cli issue unassign PROJ-123
jira-cli issue watch PROJ-123
jira-cli issue unwatch PROJ-123
jira-cli issue watchers PROJ-123 --json
jira-cli issue vote PROJ-123
jira-cli issue unvote PROJ-123
# Comments
jira-cli issue comment add PROJ-123 --body "Fixed in PR #42" --json
jira-cli issue comment list PROJ-123 --json
jira-cli issue comment delete PROJ-123 --id <commentId>
# Worklogs
jira-cli issue worklog add PROJ-123 --time 2h --comment "Debugging session" --json
jira-cli issue worklog add PROJ-123 --time 1h30m --started "2024-01-15T10:00:00.000+0000"
jira-cli issue worklog list PROJ-123 --json
# Links
jira-cli issue link-types --json # List available link types
jira-cli issue link PROJ-123 --to PROJ-456 --type "blocks"
jira-cli issue unlink <linkId>
jira-cli issue remote-link PROJ-123 --url https://pr.url --title "PR #42"
jira-cli issue remote-links PROJ-123 --json
# Attachments
jira-cli issue attach PROJ-123 --file ./screenshot.png
jira-cli issue attachments PROJ-123 --json# Basic search
jira-cli search "assignee = currentUser() AND status != Done" --json
jira-cli search "project = PROJ AND sprint in openSprints()" --json
# Advanced options
jira-cli search "project = PROJ" --limit 100 --json
jira-cli search "project = PROJ" --all --json # Fetch ALL results (auto-paginate)
jira-cli search "project = PROJ" --count # Only show total count
jira-cli search "project = PROJ" --order-by updated --json
jira-cli search "type = Bug AND priority = High" --fields key,summary,status --jsonjira-cli board list --json # Find board IDs first
jira-cli sprint list --board 42 --json
jira-cli sprint list --board 42 --state active --json
jira-cli sprint active --board 42 --json # Active sprint + issues
jira-cli sprint issues --sprint 10 --json
jira-cli sprint create --board 42 --name "Sprint 5" --start-date 2024-02-01 --end-date 2024-02-14 --json
jira-cli sprint update --sprint 10 --goal "Complete payment refactor"
jira-cli sprint move --sprint 10 --issues PROJ-123,PROJ-124,PROJ-125
jira-cli sprint close --sprint 10 --force # --force skips confirmationjira-cli board list --json
jira-cli board list --project PROJ --type scrum --json
jira-cli board get --board 42 --json
jira-cli board backlog --board 42 --json
jira-cli board epics --board 42 --json
jira-cli board sprints --board 42 --state active --jsonjira-cli epic list --board 42 --json
jira-cli epic list --board 42 --done --json # Completed epics only
jira-cli epic issues PROJ-1 --board 42 --jsonjira-cli project list --json
jira-cli project list --type software --json
jira-cli project get PROJ --json
jira-cli project components PROJ --json
jira-cli project versions PROJ --json
jira-cli project versions PROJ --unreleased --json
jira-cli project issue-types PROJ --json
jira-cli project fields --json # List all fields (system + custom)
jira-cli project fields --custom --json # List custom fields onlyjira-cli user me --json # Current user info
jira-cli user search --query "john" --json
jira-cli user search --query "john" --assignable --project PROJ --jsonjira-cli filter list --json
jira-cli filter get <filterId> --json
jira-cli filter create --name "My Bugs" --jql "assignee = me AND type = Bug" --json
jira-cli filter run <filterId> --json
jira-cli filter delete <filterId># 1. Search for issues
jira-cli search "project = PROJ AND assignee = me AND status = 'In Progress'" --json
# 2. Get issue details
jira-cli issue get PROJ-123 --json
# 3. Check available transitions
jira-cli issue transitions PROJ-123 --json
# 4. Transition to Done
jira-cli issue transition PROJ-123 "Done"
# 5. Add a comment
jira-cli issue comment add PROJ-123 --body "Completed and deployed to staging"# 1. Find the board
jira-cli board list --json
# 2. Check active sprint
jira-cli sprint active --board 42 --json
# 3. View backlog
jira-cli board backlog --board 42 --json
# 4. Create next sprint
jira-cli sprint create --board 42 --name "Sprint 6" --start-date 2024-02-15 --end-date 2024-02-28 --json
# 5. Move issues to sprint
jira-cli sprint move --sprint 11 --issues PROJ-200,PROJ-201,PROJ-202jira-cli doctor --jsonissue delete--forcesprint close--force--json--dry-run--quiet--jsonissue transitionissue assignuser search --query <name> --jsonjira-cli user me --json--json--force--quiet--dry-runissue getissue listsearchsprint listsprint issues--raw--fields key,summary,status{
"key": "PROJ-123",
"summary": "Fix login bug",
"status": "In Progress",
"type": "Bug",
"assignee": "johndoe",
"reporter": "janedoe",
"priority": "High",
"created": "2024-01-15T10:30:00.000+0000",
"updated": "2024-01-16T14:20:00.000+0000",
"labels": "backend,urgent",
"component": "auth",
"parent": "PROJ-100"
}{
"id": 42,
"name": "Sprint 5",
"state": "active",
"startDate": "2024-02-01",
"endDate": "2024-02-14",
"goal": "Complete payment module"
}{
"error": "Jira API error 404: Issue does not exist",
"statusCode": 404,
"errorCode": "NOT_FOUND",
"hint": "Verify the issue key exists and you have permission to view it"
}| Code | Status | Hint |
|---|---|---|
| 401 | Run |
| 403 | Check your PAT scope and project permissions |
| 404 | Verify the resource key/ID exists |
| 429 | Wait and retry; reduce request frequency |
| 5xx | Jira server error; retry later |
| — | Check host URL and network connectivity |
| — | Run |
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Bad arguments |
| 3 | Authentication error |
| 4 | Resource not found |
| 5 | Forbidden |
| 6 | Rate limited |
| 7 | Network/server error |
~/.jira-cli/audit/| Env var | Default | Description |
|---|---|---|
| (unset) | Set |
| | Auto-delete files older than N months ( |
jira-cli reference # Print all commands, subcommands, and flags in structured markdown