Help us improve
Share bugs, ideas, or general feedback.
Manages Jira Cloud issues via jira CLI with JSON output: create, view, update, search issues, fetch hierarchies, manage sprints.
npx claudepluginhub fortiumpartners/ensemble --plugin ensemble-infrastructureHow this skill is triggered — by the user, by Claude, or both
Slash command
/ensemble-infrastructure:managing-jira-issuesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Purpose**: Issue management for Jira Cloud using the `jira` CLI with JSON output optimized for LLM agents.
Interacts with Jira issues via CLI scripts — search, create, update, transition, comment, log work, manage sprints, boards, attachments, users, and fields. Auto-triggers on Jira URLs and issue keys.
References Atlassian CLI (acli) commands for Jira: authenticate, create/view/edit issues, JQL searches, bulk operations, project/board/sprint management.
Views Jira issues, generates branch names from tickets, creates tickets, and transitions status via Atlassian MCP. Activates on ticket key mentions or /jira command.
Share bugs, ideas, or general feedback.
Purpose: Issue management for Jira Cloud using the jira CLI with JSON output optimized for LLM agents.
Tool: jira CLI (installed globally via npm link from ~/utils/atlassian)
# Check CLI installed
jira --version # Expects: 1.0.0
Config location: ~/utils/atlassian/.env
ATLASSIAN_CLOUD_ID=your-cloud-id
ATLASSIAN_AUTH_TOKEN=email@domain.com:API_TOKEN
ATLASSIAN_SITE_URL=https://your-site.atlassian.net
Get API token from: https://id.atlassian.com/manage-profile/security/api-tokens
User wants to...
├── View issue details
│ └── jira issues read <ISSUE-KEY>
├── List recent issues
│ └── jira issues list [--limit N] [--project KEY]
├── Search issues
│ └── jira issues search "query" [--project KEY]
├── Create new issue
│ └── jira issues create "Title" --project KEY [options]
├── Update existing issue
│ └── jira issues update <ISSUE-KEY> [--status|--assignee|--priority]
├── Fetch complete hierarchy
│ └── jira issues fetch <ISSUE-KEY> --output ./spec
└── Get available transitions
└── jira issues transitions <ISSUE-KEY>
User wants to...
├── List projects
│ └── jira projects list
└── List users
└── jira users list [--query NAME]
├── Add comment
│ └── jira comments create <ISSUE-KEY> --body "Comment text"
└── List comments
└── jira comments list <ISSUE-KEY>
| Operation | Command | Example |
|---|---|---|
| Read | jira issues read <KEY> | jira issues read VA-2228 |
| List | jira issues list | jira issues list --limit 10 --project VA |
| Search | jira issues search "query" | jira issues search "auth bug" |
| Create | jira issues create "Title" | jira issues create "Fix login" --project VA --type Bug |
| Update | jira issues update <KEY> | jira issues update VA-123 --status "In Review" |
| Fetch | jira issues fetch <KEY> | jira issues fetch VA-123 --output ./spec |
jira issues create "Title" \
--project VA \
--type Story \
--description "Detailed description" \
--assignee "account-id" \
--priority High \
--labels "Bug,Critical" \
--parent VA-100
Issue types: Epic, Story, Task, Bug, Sub-task Priority values: Highest, High, Medium, Low, Lowest
jira issues update VA-123 \
--status "In Review" \
--assignee "account-id" \
--priority High \
--labels "Bug,P1" \
--summary "New title"
# Fetch epic with ALL children + linked Confluence pages
jira issues fetch VA-2522 --output ./spec
# Output structure:
# ./spec/
# ├── jira/
# │ ├── VA-2522.json
# │ ├── VA-2522.md
# │ ├── VA-2228.json (child)
# │ └── ...
# ├── confluence/
# │ ├── 12345678.json
# │ └── ...
# └── summary.json
When to use fetch:
# Projects
jira projects list
# Users
jira users list
jira users list --query "john"
# Add comment
jira comments create VA-123 --body "This is a comment"
# List comments
jira comments list VA-123
Issue Operations:
- "Create a Jira issue for..."
- "Open a ticket in Jira..."
- "Log this as a Jira bug..."
- "Check Jira issue VA-123"
- "What's the status of VA-123?"
- "Update VA-123 to..."
- "Move VA-123 to In Review"
- "Assign VA-123 to..."
- "Search Jira for..."
- "Find issues about..."
Fetch Operations (comprehensive):
- "Fetch VA-2228"
- "Pull down VA-2522"
- "Get complete data for VA-2228"
- "Implement from VA-2228"
- "Get requirements for VA-2228"
Metadata:
- "List Jira projects"
- "Who can I assign this to?"
# Jira issue ID pattern
[A-Z]{2,10}-\d+
# Examples: VA-123, DEV-456, BACKEND-789
User: "Create a Jira issue for the login timeout bug"
Steps:
1. Parse request: title=login timeout bug
2. Execute: jira issues create "Login timeout bug" --project VA --type Bug
3. Return: Issue key and details from JSON
User: "What's the status of VA-123?"
Steps:
1. Parse issue ID: VA-123
2. Execute: jira issues read VA-123
3. Return: Issue title, state, assignee, priority from JSON
User: "Move VA-123 to In Review and assign to John"
Steps:
1. Get users: jira users list --query john
2. Find John's account ID from JSON
3. Update: jira issues update VA-123 --status "In Review" --assignee john-account-id
User: "Implement VA-2522"
Steps:
1. Check if reference exists: ls ./spec/jira/VA-2522.json
2. If not: jira issues fetch VA-2522 --output ./spec
3. Read requirements from ./spec/jira/*.md
4. Begin implementation
5. Update progress: jira issues update VA-2228 --status "In Progress"
| Error | Cause | Resolution |
|---|---|---|
command not found: jira | CLI not installed | cd ~/utils/atlassian && npm link |
Missing ATLASSIAN_AUTH_TOKEN | No credentials | Configure ~/utils/atlassian/.env |
Authentication failed | Invalid token | Regenerate API token |
Resource not found | Invalid issue key | Verify issue exists |
Status not available | Invalid transition | Run jira issues transitions VA-123 to see options |
Rate limited | Too many requests | CLI auto-retries with backoff |
All commands output JSON. Parse with jq:
# Get issue title
jira issues read VA-123 | jq -r '.summary'
# Get issue status
jira issues read VA-123 | jq -r '.status'
# List issue keys and titles
jira issues list --limit 10 | jq -r '.[] | "\(.key): \(.summary)"'
# Get created issue key
jira issues create "Title" --project VA | jq -r '.key'
| Need | Use read | Use fetch |
|---|---|---|
| Quick status check | Yes | No |
| Get single issue | Yes | Overkill |
| Get issue + ALL children | No | Yes |
| Get linked Confluence | No | Yes (automatic) |
| Offline reference | No | Yes |
| Implementation context | No | Yes |
| Real-time current data | Yes | Snapshot |
jira CLI