From jira-cli
Manage Jira Server 8.13.5 via the `jira-cli` binary — read/create/update issues, run JQL searches, transition status, operate on sprints and epics, and perform parallel bulk actions. Trigger when the user mentions a Jira project key pattern (PROJ-123), asks about tickets, the backlog, sprint contents, JQL, or workflow transitions; or when they want to file/update/bulk-act on Jira issues. Requires `jira-cli` on PATH — the skill refuses with an install hint if missing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jira-cli:jira-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`jira-cli` is an agent-first Rust CLI for legacy Jira Server 8.13.5. It
jira-cli is an agent-first Rust CLI for legacy Jira Server 8.13.5. It
speaks REST v2 + Agile 1.0, returns JSON on stdout, errors as JSON on
stderr, and exposes a schema command for capability discovery.
jira-cli --version
If the binary is not on PATH, stop and tell the user to install it:
brew install zhiyue/tap/jira-cli
# or
curl -sSL https://raw.githubusercontent.com/zhiyue/jira-cli/main/install.sh | sh
Do not attempt to run any other command until --version prints a line
like jira-cli 0.2.2 (target=..., git=...).
Config lives at ~/.config/jira-cli/config.toml. Bootstrap with:
jira-cli config init
See references/config.md in this skill for the full config surface
(JIRA_URL, JIRA_USER, JIRA_PASSWORD, default_project,
[jql_aliases], [field_aliases], [field_renames],
auto_rename_custom_fields, insecure, [defaults]).
jira-cli schema # full command tree as JSON (default)
jira-cli schema <subcommand> # just that subtree
jira-cli <command> --help # per-command help
Use schema when unsure which subcommand or flag to reach for. The
output is stable machine-readable JSON designed for this kind of
introspection.
Each scenario below has an expanded walkthrough in
references/workflows.md.
jira-cli issue get PROJ-123 --fields=summary,status,assignee
Prefer --fields=<dot.path,…> to trim the response. Combine with
--jira-fields to select server-side fields first.
jira-cli search 'project = PROJ AND status != Done' --keys-only
jira-cli search @my-open --max 50 # @alias resolves via [jql_aliases]
--keys-only keeps the response a single line per hit — use it when
you only need issue keys for follow-up commands.
jira-cli issue create \
--project PROJ \
--type Bug \
--summary "Investigate flaky login test" \
--set priority=High
--project can be omitted if default_project is set in config or
JIRA_PROJECT is exported.
jira-cli issue transitions list PROJ-123
jira-cli issue transition PROJ-123 --to "In Progress"
# bulk transition — feed a JSONL stream of {"key": "...", "to": "..."}
jira-cli search 'project=PROJ AND status=Review' --keys-only \
| awk '{printf "{\"key\":\"%s\",\"to\":\"Done\"}\n",$0}' \
| jira-cli bulk transition --file -
# bulk comment — each line: {"key": "...", "body": "..."}
printf '%s\n' \
'{"key":"PROJ-1","body":"Released in v2.4.0"}' \
'{"key":"PROJ-2","body":"Released in v2.4.0"}' \
| jira-cli bulk comment --file -
jira-cli sprint list --board 42
jira-cli sprint issues 100 --keys-only
jira-cli epic issues PROJ-10 --keys-only
--keys-only / --fields=… to keep returned context lean..error and .hint for actionable
diagnostics rather than scraping free text.JIRA_URL and JIRA_USER/JIRA_PASSWORD
(or JIRA_SESSION_COOKIE under cookie auth) match a working login.
A Jira PAT plugs into the password slot, not a dedicated JIRA_TOKEN.customfield_NNNNN → set
auto_rename_custom_fields = true in config.toml, or add explicit
[field_renames] / [field_aliases] entries. See references/config.md.insecure = true in
config.toml (no stderr warning — explicit opt-in).npx claudepluginhub zhiyue/jira-cli --plugin jira-cliCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.