Purpose
Use the Jira CLI (jira) to interact with Jira issues, sprints, epics, and projects directly from the command line. This enables fast issue management without leaving the terminal.
Prerequisites
- Jira CLI installed (
jira command available)
- Configured with
jira init (API token set via JIRAAPITOKEN environment variable)
Critical: Non-Interactive Mode Required
NEVER use interactive mode. Always use one of these approaches:
- For viewing/listing: Use
--plain or --raw flags
- --plain - Standard readable output (default choice) - --raw - JSON output when structured data is needed for parsing
- For creating/editing: Use
--no-input flag along with all required fields
Interactive mode requires user input and will hang. Always use these flags to ensure commands complete without prompts.
Quick Reference
Core Commands
| Command |
Description |
jira issue list --plain |
List recent issues in the project |
jira issue create -tTask -s"Summary" --no-input |
Create a new issue non-interactively |
jira issue view ISSUE-123 --plain |
View issue details |
jira issue view ISSUE-123 --raw |
View issue details as JSON |
jira issue edit ISSUE-123 -s"Title" |
Edit an issue |
jira issue move ISSUE-123 "Done" |
Transition issue status |
jira issue assign ISSUE-123 username |
Assign issue to user |
jira sprint list --current --plain |
View current sprint |
jira epic list --plain |
List epics in project |
jira open ISSUE-123 |
Open issue in browser |
Configuration
# View current user
jira me
# Use current user in commands via command substitution
# Example: $(jira me) expands to your username
jira issue assign ISSUE-123 $(jira me)
# Server information
jira serverinfo
# Use specific project
jira issue list -p PROJECT_KEY
Workflow Instructions
Listing Issues
List issues with various filters (always use --plain or --raw):
# List all recent issues
jira issue list --plain
# Filter by assignee (current user)
jira issue list -a$(jira me) --plain
# Filter by status
jira issue list -s"In Progress" --plain
# Filter by priority
jira issue list -yHigh --plain
# Filter by creation date
jira issue list --created month --plain
# Combine filters
jira issue list -a$(jira me) -yHigh -s"To Do" --created month --plain
# JSON output when detailed data needed
jira issue list --raw
Creating Issues
Always provide required fields to avoid interactive prompts.
Important: Use Markdown for descriptions and comments. The -b flag accepts Markdown, not Jira wiki markup. Do not use Jira wiki syntax like {code:yaml}, h2., or {{monospace}} — they will render as broken literal text. Use standard Markdown instead: ` ` for code blocks, ## for headings, and `` for inline code.
# Create with required fields (use --no-input to prevent prompts)
jira issue create -t"Bug" -s"Fix login error" -b"Description here" --no-input
# Create and assign
jira issue create -t"Task" -s"New feature" -a$(jira me) --no-input
# Create with priority
jira issue create -t"Task" -s"Urgent fix" -yHigh --no-input
Viewing and Editing Issues
# View full issue details (plain text)
jira issue view ISSUE-123 --plain
# View full issue details (JSON for parsing)
jira issue view ISSUE-123 --raw
# Edit issue summary
jira issue edit ISSUE-123 -s"Updated title" --no-input
# Edit issue body/description
jira issue edit ISSUE-123 -b"Updated description" --no-input
# Add comment
jira issue comment add ISSUE-123 -b"Comment text" --no-input
Moving Issues Through Workflow
Always specify the target status explicitly:
# Move to specific status
jira issue move ISSUE-123 "In Progress"
jira issue move ISSUE-123 "Done"
jira issue move ISSUE-123 "To Do"
Sprint Management
# List all sprints
jira sprint list --plain
# View current sprint
jira sprint list --current --plain
# View sprint issues
jira sprint list SPRINT_ID --plain
# Filter sprint issues by assignee
jira sprint list SPRINT_ID -a$(jira me) --plain
# Get sprint data as JSON
jira sprint list --current --raw
Epic Management
# List epics
jira epic list --plain
# View epic issues
jira epic list EPIC-123 --plain
# Add issue to epic
jira epic add EPIC-123 ISSUE-456
Board Operations
# List boards
jira board list --plain
# View board details
jira board view BOARD_ID --plain
Output Formats
Always use non-interactive output:
- Plain text (
--plain): Default choice for readable output
- JSON (
--raw): Use when detailed/structured data is needed for parsing
- CSV (
--csv): Use for spreadsheet export
Never use interactive mode - it requires user input and will hang.
Common Patterns
Daily Standup Check
# See what you're working on
jira issue list -a$(jira me) -s"In Progress" --plain
# Check current sprint
jira sprint list --current --plain
Start Working on Issue
# View issue details
jira issue view ISSUE-123 --plain
# Assign to yourself and move to In Progress
jira issue assign ISSUE-123 $(jira me)
jira issue move ISSUE-123 "In Progress"
Complete an Issue
# Move to done
jira issue move ISSUE-123 "Done"
# Add completion comment
jira issue comment add ISSUE-123 -b"Completed and deployed" --no-input
Troubleshooting
Check Configuration
# Verify current user
jira me
# Check server connection
jira serverinfo
# Debug mode
jira --debug issue list --plain
Common Issues
- Authentication errors: Ensure
JIRAAPITOKEN is set correctly
- Project not found: Use
-p PROJECT_KEY to specify project
- Invalid transition: Check issue status first with
jira issue view ISSUE-123 --plain to see available transitions