Files
2025-11-30 08:46:33 +08:00

82 lines
7.6 KiB
Markdown

# Jira MCP Parity Mapping
High-level equivalence table between Jira MCP API operations and the `jira` CLI commands exposed through `jira-cli-skill`. Load this reference when planning workflows that depend on specific MCP actions.
## Projects
| MCP capability | CLI command | Notes |
|------------------------------|------------------------------------------------------------------|-------|
| List projects | `jira project list --plain --columns key,name,type` | `--plain` recommended for deterministic TSV output. |
| Get project details | `jira project view <KEY>` | Use `--raw` for JSON payload. |
## Issues
| MCP capability | CLI command | Notes |
|------------------------------------|-----------------------------------------------------------------------------------------------------|-------|
| Search issues (JQL) | `jira issue search '<JQL>' --plain --columns key,summary,status` | Add `--raw` for JSON. |
| List issues by status/assignee | `jira issue list --status "In Progress" --assignee "$(jira me)" --plain --columns key,summary,status,assignee` | Default columns recommended for parsing. |
| Get issue details | `jira issue view PROJ-123 --plain --comments 5` | Increase comments via `--comments N`. |
| Create issue | `jira issue create --type Task --summary "Title" --description-file path.md --priority High` | Use `--assignee`, `--label`, `--component`, `--custom key=value`. |
| Update fields | `jira issue edit PROJ-123 --summary "New" --priority Low --custom story-points=5` | Combine with `issue move` for status transitions. |
| Transition workflow | `jira issue move PROJ-123 "In Review" --comment "Ready"` | Accepts `--resolution`, `--assignee`. |
| Assign issue | `jira issue assign PROJ-123 user@example.com` | Accepts email, display name, or `default`. |
| Comment | `jira issue comment add PROJ-123 "Body" --no-input` | `--template -` reads stdin. |
| Delete issue | `jira issue delete PROJ-123 --cascade` | Warn: irreversible unless Jira config allows recovery. |
| Clone issue | `jira issue clone PROJ-123 --summary "Copy"` | Supports overrides for fields. |
| Link issues | `jira issue link PROJ-1 PROJ-2 "Blocks"` | Remove via `jira issue unlink PROJ-1 PROJ-2`. |
| Manage attachments | `jira issue attach add PROJ-123 ./file.txt --name "spec.txt"` | Remove via `attach remove`. |
| Watchers | `jira issue watch PROJ-123 user@example.com` | Omit user to watch/unwatch self. |
| Worklogs | `jira issue worklog add PROJ-123 "2h" --started "2024-06-01 09:00" --timezone "America/New_York"` | `worklog edit` and `worklog delete` mirror MCP updates. |
## Epics
| MCP capability | CLI command | Notes |
|--------------------------|------------------------------------------------------------------------------|-------|
| Create epic | `jira epic create --name "Epic" --summary "Goal" --label initiative` | Provide `--type` if org uses custom epic issue types. |
| List epics | `jira epic list --plain --columns key,summary,status` | Use filters: `--status`, `--priority`, `--label`. |
| Attach issues to epic | `jira epic add EPIC-1 PROJ-1 PROJ-2` | Up to 50 issues per call. |
| Remove issues from epic | `jira epic remove PROJ-1 PROJ-2` | Equivalent to MCP unlink. |
## Boards & Sprints
| MCP capability | CLI command | Notes |
|----------------------------------|----------------------------------------------------------------------------------------------|-------|
| List boards | `jira board list --plain --columns id,name,type` | Requires project context. |
| List sprints on board | `jira sprint list --plain --columns id,name,state,start,end` | `--paginate` limits results. |
| View issues in sprint | `jira sprint list <SPRINT_ID> --plain --columns key,summary,status,assignee` | Add `--state active` etc. |
| Add issues to sprint | `jira sprint add <SPRINT_ID> PROJ-123 PROJ-456` | Mirrors MCP batch add. |
| Remove issues from sprint | `jira sprint remove <SPRINT_ID> PROJ-123` | Use when unassigning sprints. |
| Close sprint | `jira sprint close <SPRINT_ID>` | Equivalent to MCP close. |
## Releases / Versions
| MCP capability | CLI command | Notes |
|------------------------|--------------------------------------------------------------------------------|-------|
| List releases | `jira release list --plain --columns name,start,end,state` | CLI uses "release" for Jira versions. |
| Create release | `jira release create --name "v1.5.0" --release-date 2024-08-01` | Additional flags: `--description`, `--project`. |
| Update release | `jira release edit <ID> --name "v1.5.1"` | Equivalent to MCP update. |
| Archive/delete release | `jira release archive <ID>` / `jira release delete <ID>` | Deletes require confirmation; use `--confirm`. |
## User & Instance
| MCP capability | CLI command | Notes |
|-----------------------|--------------------------------------|-------|
| Current user | `jira me` | Returns display name and account ID. |
| Instance metadata | `jira serverinfo` | Mirrors MCP server info. |
| CLI version | `jira version` | Helpful for troubleshooting. |
## Attachments & Assets
- Upload file: `jira issue attach add PROJ-123 ./design.pdf`
- Download attachment: `jira issue attach get PROJ-123 <attachment-id> --output ./design.pdf`
- List attachments: `jira issue attach list PROJ-123 --plain --columns id,filename,author`
## Tips
- Combine CLI options to keep parity with MCP filters (`--status`, `--priority`, `--label`, `--assignee`, `--jql`).
- Use `--raw` when Claude must parse JSON; otherwise rely on the TSV defaults to minimise tokens.
- Env overrides:
- `JIRA_PROJECT` auto-applies `--project` when omitted.
- `JIRA_CLI_PATH` points the wrapper to a custom binary location.
- When the CLI reports "interactive view", re-run with `--plain` or `--raw` to keep outputs deterministic.