check
Verify configuration and connectivity.
```bash
python scripts/jira.py check
```
This validates:
- Python dependencies are installed
- Authentication is configured
- Can connect to Jira
- API version is detected correctly
search
Search for issues using JQL (Jira Query Language).
```bash
# Standard JQL
python scripts/jira.py search "project = DEMO AND status = Open"
python scripts/jira.py search "assignee = currentUser() ORDER BY updated DESC" --max-results 20
# ScriptRunner Enhanced Search (if available)
# Find issues linked to a specific issue
python scripts/jira.py search 'issue in linkedIssuesOf("DEMO-123")'
# Find parent/child relationships
python scripts/jira.py search 'issue in parentsOf("DEMO-123")'
python scripts/jira.py search 'issue in subtasksOf("DEMO-123")'
# Find issues commented on by a specific user
python scripts/jira.py search 'issue in commentedByUser("username")'
# Find epics and their issues
python scripts/jira.py search 'issue in epicsOf("DEMO-123")'
python scripts/jira.py search 'issue in issuesInEpics("EPIC-123")'
# Find issues with specific link types (dependencies, blocks, etc.)
python scripts/jira.py search 'issue in hasLinkType("Dependency")'
```
Arguments:
jql: JQL query string (required) - supports ScriptRunner functions if installed--max-results: Maximum number of results (default: 50)--fields: Comma-separated list of fields to include--json: Output as JSON
ScriptRunner Support:
The skill automatically detects if ScriptRunner Enhanced Search is installed and validates queries that use advanced JQL functions. If ScriptRunner functions are detected but the plugin is not available, you'll receive a warning.
Common ScriptRunner functions include:
linkedIssuesOf(), hasLinkType() - Link and dependency queriessubtasksOf(), parentsOf(), epicsOf() - Hierarchy navigationcommentedByUser(), transitionedBy() - User activity tracking- And many more...
For complete ScriptRunner guidance including user lookups, practical examples, and troubleshooting, read [scriptrunner.md](references/scriptrunner.md).
Note: ScriptRunner works differently on Cloud vs Data Center/Server instances. The skill handles both automatically.
issue
Get, create, update, or comment on issues.
```bash
# Get issue details
python scripts/jira.py issue get DEMO-123
# Get issue with specific fields only
python scripts/jira.py issue get DEMO-123 --fields "summary,status,assignee"
# Create new issue
python scripts/jira.py issue create --project DEMO --type Task --summary "New task"
# Update issue
python scripts/jira.py issue update DEMO-123 --summary "Updated summary"
# Add comment
python scripts/jira.py issue comment DEMO-123 "This is a comment"
# Add private comment with security level
python scripts/jira.py issue comment DEMO-123 "Internal note" --security-level "Red Hat Internal"
```
Arguments for issue get:
issue_key: Issue key (required)--fields: Comma-separated list of fields to include (uses config default if not specified)--json: Output as JSON
transitions
Manage issue workflow transitions.
```bash
# List available transitions
python scripts/jira.py transitions list DEMO-123
# Transition issue
python scripts/jira.py transitions do DEMO-123 "In Progress"
python scripts/jira.py transitions do DEMO-123 "Done" --comment "Completed"
# Transition with private comment
python scripts/jira.py transitions do DEMO-123 "Done" --comment "Internal resolution notes" --security-level "Red Hat Internal"
```
config
Manage configuration and view effective defaults.
```bash
# Show all configuration and defaults
python scripts/jira.py config show
# Show project-specific defaults
python scripts/jira.py config show --project DEMO
```
This displays:
- Authentication settings (with masked token)
- Default JQL scope, security level, max results, and fields
- Project-specific defaults for issue type and priority
fields
List available fields in your Jira instance.
```bash
# List all global fields
python scripts/jira.py fields
# List fields for specific project and issue type
python scripts/jira.py fields --project DEMO --issue-type Task
# Output as JSON
python scripts/jira.py fields --json
```
Arguments:
--project: Project key for context-specific fields--issue-type: Issue type name (requires --project)--json: Output as JSON
Note: Fields vary by project and issue type. When creating or searching issues, use --project and --issue-type to see only the fields available in that context.
statuses
List available statuses and status categories.
```bash
# List all statuses
python scripts/jira.py statuses
# List status categories (To Do, In Progress, Done)
python scripts/jira.py statuses --categories
# Output as JSON
python scripts/jira.py statuses --json
```
Arguments:
--categories: Show status categories instead of individual statuses--json: Output as JSON
Recommendation: Use statusCategory in JQL queries for more portable queries:
statusCategory = "To Do" - matches all statuses in the To Do categorystatusCategory = "In Progress" - matches all in-progress statusesstatusCategory = Done - matches all completed statuses
This is more reliable than using specific status names, which vary between projects.