465 lines
12 KiB
Markdown
465 lines
12 KiB
Markdown
# Jira CLI - Comprehensive Command Reference
|
|
|
|
This file contains detailed command syntax, options, and examples for all jira-cli operations.
|
|
|
|
## Issue Management
|
|
|
|
### Listing Issues
|
|
|
|
Use powerful filters to find exactly what you need:
|
|
|
|
```bash
|
|
# Basic listing
|
|
jira issue list # Recent issues
|
|
jira issue list "Feature Request" # Search by specific text
|
|
jira issue list --created -7d # Last 7 days
|
|
jira issue list -s"To Do" # Specific status
|
|
jira issue list -yHigh # High priority
|
|
|
|
# Personal queries
|
|
jira issue list -a$(jira me) # Assigned to me
|
|
jira issue list -r$(jira me) # Reported by me
|
|
jira issue list -w # Issues I'm watching
|
|
|
|
# Filtering by fields
|
|
jira issue list -lbackend # With label
|
|
jira issue list -CBackend # With component
|
|
jira issue list -tBug # Bug type
|
|
jira issue list -R"Won't do" # With resolution
|
|
|
|
# Combined filters (high priority, In Progress, created this month, with labels)
|
|
jira issue list -yHigh -s"In Progress" --created month -lbackend -l"high-prio"
|
|
|
|
# Time-based queries
|
|
jira issue list --created -1h # Created in last hour
|
|
jira issue list --updated -30m # Updated in last 30 minutes
|
|
jira issue list --created week # Created this week
|
|
jira issue list --created month # Created this month
|
|
jira issue list --created-before -24w # Created before 24 weeks ago
|
|
|
|
# Advanced queries
|
|
jira issue list -a"User A" -r"User B" # Assigned to A, reported by B
|
|
jira issue list -ax # Unassigned issues
|
|
jira issue list -a~x # Assigned to anyone
|
|
jira issue list -s~Done # Status NOT done (~ is NOT)
|
|
jira issue list -s~Done --created-before -24w -a~x # Complex NOT query
|
|
|
|
# Special queries
|
|
jira issue list --history # Recently viewed by you
|
|
jira issue list -r$(jira me) --reverse # First issue you ever reported
|
|
jira issue list -a$(jira me) -tBug -sDone -rFixed --reverse # First bug you fixed
|
|
|
|
# Project-specific
|
|
jira issue list -pXYZ # In project XYZ
|
|
jira issue list -w -pXYZ # Watching in project XYZ
|
|
|
|
# Sorting and ordering
|
|
jira issue list --order-by rank --reverse # By rank (same as UI)
|
|
jira issue list --order-by created # By creation date
|
|
jira issue list --order-by updated # By update date
|
|
|
|
# Output formats
|
|
jira issue list --plain # Plain text
|
|
jira issue list --csv # CSV format
|
|
jira issue list --raw # Raw JSON
|
|
jira issue list --columns key,summary,status,assignee # Custom columns
|
|
jira issue list --plain --no-headers # No headers (for parsing)
|
|
|
|
# Raw JQL
|
|
jira issue list -q "summary ~ cli" # Execute JQL in project context
|
|
```
|
|
|
|
### Creating Issues
|
|
|
|
```bash
|
|
# Interactive mode
|
|
jira issue create
|
|
|
|
# Non-interactive with all parameters
|
|
jira issue create -tBug -s"Bug title" -yHigh -lbug -lurgent -b"Description" --no-input
|
|
|
|
# Create with specific fields
|
|
jira issue create -tStory -s"Story title" -yMedium -lfeature
|
|
jira issue create -tTask -s"Task" -a"John Doe" -CBackend
|
|
jira issue create -tBug -s"Critical bug" -yHighest --fix-version v2.0
|
|
|
|
# Attach to epic during creation
|
|
jira issue create -tStory -s"Story title" -PEPIC-42
|
|
|
|
# Using templates for description
|
|
jira issue create --template /path/to/template.md
|
|
jira issue create --template - # From stdin
|
|
|
|
# Pipe description from stdin
|
|
echo "Description from pipeline" | jira issue create -s"Summary" -tTask
|
|
|
|
# With custom fields
|
|
jira issue create --custom field1=value1 --custom field2=value2
|
|
```
|
|
|
|
### Editing Issues
|
|
|
|
```bash
|
|
# Interactive edit
|
|
jira issue edit ISSUE-1
|
|
|
|
# Update specific fields
|
|
jira issue edit ISSUE-1 -s"New summary"
|
|
jira issue edit ISSUE-1 -yHigh
|
|
jira issue edit ISSUE-1 -b"New description"
|
|
|
|
# Update multiple fields at once
|
|
jira issue edit ISSUE-1 -s"New summary" -yHigh -lurgent --no-input
|
|
|
|
# Add and remove labels/components
|
|
jira issue edit ISSUE-1 --label new-label
|
|
jira issue edit ISSUE-1 --label -old-label --label new-label
|
|
jira issue edit ISSUE-1 --component -FE --component BE
|
|
|
|
# Update fix version
|
|
jira issue edit ISSUE-1 --fix-version v2.0
|
|
jira issue edit ISSUE-1 --fix-version -v1.0 --fix-version v2.0
|
|
```
|
|
|
|
### Assigning Issues
|
|
|
|
```bash
|
|
# Interactive assign
|
|
jira issue assign
|
|
|
|
# Assign to specific user
|
|
jira issue assign ISSUE-1 "Jon Doe"
|
|
|
|
# Assign to self
|
|
jira issue assign ISSUE-1 $(jira me)
|
|
|
|
# Assign based on keyword (prompts if multiple matches)
|
|
jira issue assign ISSUE-1 john
|
|
|
|
# Assign to default assignee
|
|
jira issue assign ISSUE-1 default
|
|
|
|
# Unassign
|
|
jira issue assign ISSUE-1 x
|
|
```
|
|
|
|
### Moving/Transitioning Issues
|
|
|
|
```bash
|
|
# Interactive transition
|
|
jira issue move
|
|
|
|
# Move to specific status
|
|
jira issue move ISSUE-1 "In Progress"
|
|
jira issue move ISSUE-1 Done
|
|
|
|
# Move with comment
|
|
jira issue move ISSUE-1 "In Progress" --comment "Started working on it"
|
|
|
|
# Set resolution and assignee while moving
|
|
jira issue move ISSUE-1 Done -RFixed
|
|
jira issue move ISSUE-1 Done -RFixed -a$(jira me)
|
|
```
|
|
|
|
### Viewing Issues
|
|
|
|
```bash
|
|
# View issue in terminal
|
|
jira issue view ISSUE-1
|
|
|
|
# View with recent comments
|
|
jira issue view ISSUE-1 --comments 5
|
|
jira issue view ISSUE-1 --comments 10
|
|
```
|
|
|
|
### Linking Issues
|
|
|
|
```bash
|
|
# Interactive linking
|
|
jira issue link
|
|
|
|
# Link with relationship type
|
|
jira issue link ISSUE-1 ISSUE-2 Blocks
|
|
jira issue link ISSUE-1 ISSUE-2 "is blocked by"
|
|
jira issue link ISSUE-1 ISSUE-2 Duplicates
|
|
jira issue link ISSUE-1 ISSUE-2 Relates
|
|
|
|
# Add remote web link
|
|
jira issue link remote ISSUE-1 https://example.com "Example text"
|
|
jira issue link remote ISSUE-1 https://github.com/org/repo/pull/123 "PR #123"
|
|
|
|
# Unlink issues
|
|
jira issue unlink ISSUE-1 ISSUE-2
|
|
```
|
|
|
|
### Cloning Issues
|
|
|
|
```bash
|
|
# Clone an issue
|
|
jira issue clone ISSUE-1
|
|
|
|
# Clone with modifications
|
|
jira issue clone ISSUE-1 -s"Modified summary"
|
|
jira issue clone ISSUE-1 -s"New title" -yHigh -a$(jira me)
|
|
|
|
# Clone and replace text in summary/description
|
|
jira issue clone ISSUE-1 -H"old text:new text"
|
|
jira issue clone ISSUE-1 -H"2024:2025"
|
|
```
|
|
|
|
### Deleting Issues
|
|
|
|
```bash
|
|
# Interactive delete
|
|
jira issue delete
|
|
|
|
# Delete specific issue
|
|
jira issue delete ISSUE-1
|
|
|
|
# Delete with all subtasks
|
|
jira issue delete ISSUE-1 --cascade
|
|
```
|
|
|
|
### Comments
|
|
|
|
```bash
|
|
# Add comment interactively
|
|
jira issue comment add
|
|
|
|
# Add comment with text
|
|
jira issue comment add ISSUE-1 "My comment text"
|
|
|
|
# Add internal comment (visible only to team)
|
|
jira issue comment add ISSUE-1 "Internal note" --internal
|
|
|
|
# Add comment from template
|
|
jira issue comment add ISSUE-1 --template /path/to/comment.md
|
|
jira issue comment add ISSUE-1 --template -
|
|
|
|
# Pipe comment from stdin
|
|
echo "Comment from pipeline" | jira issue comment add ISSUE-1
|
|
```
|
|
|
|
### Worklog (Time Tracking)
|
|
|
|
```bash
|
|
# Add worklog interactively
|
|
jira issue worklog add
|
|
|
|
# Add worklog with time
|
|
jira issue worklog add ISSUE-1 "2h 30m" --no-input
|
|
jira issue worklog add ISSUE-1 "1d" --no-input
|
|
jira issue worklog add ISSUE-1 "30m" --no-input
|
|
|
|
# Add worklog with comment
|
|
jira issue worklog add ISSUE-1 "2h" --comment "Implementation work" --no-input
|
|
jira issue worklog add ISSUE-1 "1h 15m" --comment "Code review" --no-input
|
|
```
|
|
|
|
## Epic Management
|
|
|
|
### Listing Epics
|
|
|
|
```bash
|
|
# List all epics (explorer view)
|
|
jira epic list
|
|
|
|
# List epics (table view)
|
|
jira epic list --table
|
|
|
|
# List epics with filters (same filters as issue list)
|
|
jira epic list -r$(jira me) # Reported by me
|
|
jira epic list -sOpen # Open epics
|
|
jira epic list -yHigh # High priority
|
|
jira epic list -r$(jira me) -sOpen -yHigh # Combined filters
|
|
|
|
# List issues in an epic
|
|
jira epic list EPIC-1
|
|
|
|
# List epic issues with filters
|
|
jira epic list EPIC-1 -ax # Unassigned issues in epic
|
|
jira epic list EPIC-1 -yHigh # High priority issues in epic
|
|
jira epic list EPIC-1 -a$(jira me) # My issues in epic
|
|
|
|
# Order epic issues by rank
|
|
jira epic list EPIC-1 --order-by rank --reverse
|
|
```
|
|
|
|
### Creating Epics
|
|
|
|
```bash
|
|
# Interactive
|
|
jira epic create
|
|
|
|
# With parameters
|
|
jira epic create -n"Epic name" -s"Epic summary"
|
|
jira epic create -n"Q1 Features" -s"Q1 Feature Development" -yHigh -lfeature -b"Epic description"
|
|
```
|
|
|
|
### Managing Epic Issues
|
|
|
|
```bash
|
|
# Add issues to epic (interactive)
|
|
jira epic add
|
|
|
|
# Add issues to epic (up to 50 at once)
|
|
jira epic add EPIC-1 ISSUE-1 ISSUE-2 ISSUE-3
|
|
|
|
# Remove issues from epic (interactive)
|
|
jira epic remove
|
|
|
|
# Remove issues from epic (up to 50 at once)
|
|
jira epic remove ISSUE-1 ISSUE-2 ISSUE-3
|
|
```
|
|
|
|
## Sprint Management
|
|
|
|
### Listing Sprints
|
|
|
|
```bash
|
|
# List all sprints (explorer view)
|
|
jira sprint list
|
|
|
|
# List sprints (table view)
|
|
jira sprint list --table
|
|
|
|
# Current active sprint
|
|
jira sprint list --current
|
|
|
|
# Current sprint with filters
|
|
jira sprint list --current -a$(jira me)
|
|
jira sprint list --current -yHigh
|
|
jira sprint list --current -a$(jira me) -yHigh -s"In Progress"
|
|
|
|
# Previous sprint
|
|
jira sprint list --prev
|
|
|
|
# Next planned sprint
|
|
jira sprint list --next
|
|
|
|
# Filter by sprint state
|
|
jira sprint list --state active
|
|
jira sprint list --state future
|
|
jira sprint list --state future,active
|
|
jira sprint list --state closed
|
|
|
|
# Specific sprint (use ID from sprint list)
|
|
jira sprint list SPRINT_ID
|
|
jira sprint list SPRINT_ID -yHigh
|
|
jira sprint list SPRINT_ID -a$(jira me)
|
|
jira sprint list SPRINT_ID -yHigh -a$(jira me) -s"In Progress"
|
|
|
|
# Order sprint issues by rank
|
|
jira sprint list SPRINT_ID --order-by rank --reverse
|
|
```
|
|
|
|
### Adding Issues to Sprint
|
|
|
|
```bash
|
|
# Add issues interactively
|
|
jira sprint add
|
|
|
|
# Add multiple issues (up to 50 at once)
|
|
jira sprint add SPRINT_ID ISSUE-1 ISSUE-2 ISSUE-3
|
|
```
|
|
|
|
## Release Management
|
|
|
|
Interact with releases (project versions). Ensure the [feature is enabled](https://support.atlassian.com/jira-software-cloud/docs/enable-releases-and-versions/) on your instance.
|
|
|
|
```bash
|
|
# List releases for default project
|
|
jira release list
|
|
|
|
# List releases for specific project by ID
|
|
jira release list --project 1000
|
|
|
|
# List releases for specific project by key
|
|
jira release list --project MYPROJ
|
|
```
|
|
|
|
## Other Commands
|
|
|
|
### Project and Board Navigation
|
|
|
|
```bash
|
|
# Open project in browser
|
|
jira open
|
|
|
|
# Open specific issue in browser
|
|
jira open ISSUE-1
|
|
|
|
# List all projects you have access to
|
|
jira project list
|
|
|
|
# List all boards in a project
|
|
jira board list
|
|
```
|
|
|
|
### User Information
|
|
|
|
```bash
|
|
# Get your own username (useful in scripts)
|
|
jira me
|
|
```
|
|
|
|
## Navigation and Interaction
|
|
|
|
When in interactive UI:
|
|
|
|
**Movement:**
|
|
- **Arrow keys** or **j,k,h,l** - Navigate through list
|
|
- **g** - Jump to top
|
|
- **G** - Jump to bottom
|
|
- **CTRL+f** - Scroll page down
|
|
- **CTRL+b** - Scroll page up
|
|
|
|
**Actions:**
|
|
- **v** - View selected issue details
|
|
- **m** - Transition the selected issue
|
|
- **CTRL+r** or **F5** - Refresh the list
|
|
- **ENTER** - Open selected issue in browser
|
|
- **c** - Copy issue URL to clipboard (requires xclip/xsel on Linux)
|
|
- **CTRL+k** - Copy issue key to clipboard
|
|
- **w** or **TAB** - Toggle focus between sidebar and content
|
|
- **q** / **ESC** / **CTRL+c** - Quit
|
|
- **?** - Show help window
|
|
|
|
## Output Formats and Options
|
|
|
|
### Format Options
|
|
|
|
```bash
|
|
# Interactive table (default)
|
|
jira issue list
|
|
|
|
# Plain text output (for scripts)
|
|
jira issue list --plain
|
|
|
|
# CSV format (for spreadsheets)
|
|
jira issue list --csv
|
|
|
|
# Raw JSON (for programmatic parsing)
|
|
jira issue list --raw
|
|
```
|
|
|
|
### Column Selection
|
|
|
|
```bash
|
|
# Default columns
|
|
jira issue list
|
|
|
|
# Custom columns
|
|
jira issue list --columns key,summary,status
|
|
jira issue list --columns key,summary,status,assignee,priority
|
|
jira issue list --columns created,updated,reporter
|
|
|
|
# Without headers (for parsing)
|
|
jira issue list --plain --no-headers
|
|
jira issue list --csv --no-headers
|
|
```
|
|
|
|
### Pagination
|
|
|
|
jira-cli handles pagination automatically. For very large result sets, the tool will fetch additional pages as needed.
|