Jira CLI Skill
You are a Jira specialist using the jira CLI tool. This skill provides comprehensive guidance for working with Jira through a custom CLI.
Core Commands
Authentication
bash
# Check authentication status jira auth check # Login to Jira jira auth login
Issue Management
bash
# View issue details jira issue get ISSUE-123 # Create new issue jira issue create --project PROJ --type Bug --summary "Issue summary" --description "Description" # Update issue jira issue update ISSUE-123 --summary "New summary" # Add comment to issue jira comment add ISSUE-123 "Comment text" # List comments on issue jira comment list ISSUE-123
Issue Transitions
bash
# List available transitions for an issue jira transition list ISSUE-123 # Transition issue to new status jira transition ISSUE-123 "In Progress"
Searching with JQL
bash
# Search issues with JQL jira search "project = PROJ AND status = Open" # Search with output format jira search "assignee = currentUser()" --format json # Search with field selection jira search "project = PROJ" --fields summary,status,assignee
Project Operations
bash
# List all projects jira project list # Get project details jira project get PROJ
Watching and Assigning
bash
# Watch an issue jira watch add ISSUE-123 # Stop watching an issue jira watch remove ISSUE-123 # Assign issue jira assign ISSUE-123 username # Assign to self jira assign ISSUE-123 me
Common Workflows
Viewing Your Work
bash
# View issues assigned to you jira search "assignee = currentUser() AND status != Done" # View issues you're watching jira search "watcher = currentUser()" # View recent activity jira search "updatedDate >= -7d AND assignee = currentUser()"
Creating and Updating Issues
bash
# Create a bug jira issue create --project PROJ --type Bug \ --summary "Login button not working" \ --description "Steps to reproduce..." # Update priority jira issue update ISSUE-123 --priority High # Add labels jira issue update ISSUE-123 --labels bug,frontend # Link issues jira link add ISSUE-123 ISSUE-456 "blocks"
Moving Issues Through Workflow
bash
# Start work on issue jira transition ISSUE-123 "In Progress" # Mark as done jira transition ISSUE-123 "Done" # Reopen issue jira transition ISSUE-123 "Reopen"
JQL Reference
Common JQL Patterns
bash
# Issues in specific project jira search "project = MYPROJ" # Open issues assigned to you jira search "assignee = currentUser() AND status in (Open, 'In Progress')" # High priority bugs jira search "type = Bug AND priority = High" # Recently updated issues jira search "updated >= -1w" # Issues created this sprint jira search "sprint in openSprints() AND created >= startOfWeek()" # Issues with specific label jira search "labels = urgent" # Issues in epic jira search "'Epic Link' = EPIC-123"
JQL Field Reference
- •
project- Project key or name - •
status- Issue status (Open, In Progress, Done, etc.) - •
assignee- Assigned user (usecurrentUser()for yourself) - •
reporter- Issue reporter - •
priority- Priority level (Highest, High, Medium, Low, Lowest) - •
type- Issue type (Bug, Story, Task, Epic, etc.) - •
labels- Issue labels - •
created- Creation date - •
updated- Last update date - •
resolution- Resolution status
JQL Functions
- •
currentUser()- Current logged-in user - •
startOfDay(),startOfWeek(),startOfMonth()- Date functions - •
now()- Current timestamp - •
openSprints()- Currently active sprints - •
closedSprints()- Completed sprints
Output Formats
bash
# JSON output (for scripting) jira search "project = PROJ" --format json # Table output (human-readable, default) jira search "project = PROJ" --format table # CSV output jira search "project = PROJ" --format csv
Best Practices
- •Always authenticate first: Run
jira auth checkbefore operations - •Use JQL for complex queries: More powerful than simple filters
- •Specify output format: Use
--format jsonfor scripting - •Include field selection: Use
--fieldsto limit returned data - •Test transitions: Use
jira transition listbefore transitioning - •Be specific with JQL: Use quotes for multi-word values
Common Use Cases
Daily Standup Prep
bash
# What you worked on yesterday jira search "assignee = currentUser() AND updated >= -1d" # What you're working on today jira search "assignee = currentUser() AND status = 'In Progress'"
Bug Triage
bash
# Unassigned bugs jira search "type = Bug AND assignee is EMPTY AND status = Open" # Critical bugs in project jira search "project = PROJ AND type = Bug AND priority in (Highest, High)"
Sprint Planning
bash
# Issues in backlog jira search "project = PROJ AND status = 'To Do' AND sprint is EMPTY" # Issues in current sprint jira search "project = PROJ AND sprint in openSprints()" # Completed this sprint jira search "project = PROJ AND sprint in openSprints() AND status = Done"
Error Handling
If you encounter authentication errors:
bash
jira auth login
If JQL syntax errors occur:
- •Check for proper quoting of multi-word values
- •Verify field names are correct
- •Use
AND,OR,NOToperators (uppercase)
Quick Reference
bash
# View issue jira issue get ISSUE-123 # Search jira search "JQL query here" # Create jira issue create --project PROJ --type TYPE --summary "text" # Update jira issue update ISSUE-123 --field value # Transition jira transition ISSUE-123 "Status Name" # Comment jira comment add ISSUE-123 "Comment text" # Assign jira assign ISSUE-123 username