Skip to content

Issues

Create, read, update, and delete Jira issues.

  • Authenticated profile (atlcli auth login)
  • Jira permission: Browse Projects for read, Edit Issues for write operations
Terminal window
atlcli jira issue get --key PROJ-123

Options:

FlagDescription
--keyIssue key (required)
--expandExpand: changelog, comments, transitions
Terminal window
# Get issue with changelog
atlcli jira issue get --key PROJ-123 --expand changelog
# JSON output
atlcli jira issue get --key PROJ-123 --json
Terminal window
atlcli jira issue create --project PROJ --type Task --summary "Fix login bug"

Options:

FlagDescription
--projectProject key (required)
--typeIssue type (required)
--summaryIssue summary (required)
--descriptionIssue description
--assigneeAssignee account ID
--priorityPriority name
--labelsComma-separated labels
--parentParent issue key (for subtasks)
--fieldSet a custom field — <id>=<value>, repeatable
Terminal window
# Create with full details
atlcli jira issue create --project PROJ --type Bug \
--summary "Login fails on mobile" \
--description "Users report 500 error on iOS Safari" \
--priority High \
--labels bug,mobile,urgent
# Create and assign
atlcli jira issue create --project PROJ --type Task \
--summary "Update docs" \
--assignee 557058:abc123

Use --field <id>=<value> to set custom fields when creating or updating issues. The flag can be repeated for multiple fields.

Terminal window
atlcli jira issue create --project PROJ --type Story --summary "My story" \
--field customfield_10028=5 \
--field customfield_10077='{"value":"Feature"}' \
--field customfield_10194="As a user I want to..."
atlcli jira issue update --key PROJ-123 \
--field customfield_10028=8 \
--field customfield_10079=3

Values are automatically coerced to the correct type:

InputResulting typeExample
Numeric stringnumber--field customfield_10028=5
nullnull--field customfield_10028=null
Valid JSONParsed value--field customfield_10077='{"value":"Bug"}'
Everything elsestring--field customfield_10194="Some text"

Use JSON syntax for Jira option, multi-select, and array fields:

Terminal window
# Single select (option)
--field customfield_10077='{"value":"Feature"}'
# Multi-select (array of options)
--field customfield_10195='[{"value":"Goal A"},{"value":"Goal B"}]'
# User field
--field customfield_10050='{"accountId":"557058:abc123"}'

Use atlcli jira field search to look up the ID for a custom field:

Terminal window
atlcli jira field search "story points"
atlcli jira field options customfield_10077 # list allowed option values
Terminal window
atlcli jira issue update --key PROJ-123 --summary "Updated summary"

Options:

FlagDescription
--keyIssue key (required)
--summaryNew summary
--descriptionNew description
--priorityNew priority
--add-labelsAdd labels (comma-separated)
--remove-labelsRemove labels (comma-separated)
--assigneeNew assignee (account ID or none to unassign)
--fieldSet a custom field — <id>=<value>, repeatable
Terminal window
# Update multiple fields
atlcli jira issue update --key PROJ-123 \
--summary "New summary" \
--priority Critical
# Modify labels
atlcli jira issue update --key PROJ-123 --add-labels reviewed,verified
# Unassign issue
atlcli jira issue update --key PROJ-123 --assignee none
Terminal window
atlcli jira issue delete --key PROJ-123 --confirm

Options:

FlagDescription
--keyIssue key (required)
--confirmSkip confirmation prompt
--delete-subtasksAlso delete subtasks

Change issue status:

Terminal window
atlcli jira issue transition --key PROJ-123 --to "In Progress"

Options:

FlagDescription
--keyIssue key (required)
--toTarget status name (required)
Terminal window
atlcli jira issue transitions --key PROJ-123

Output:

ID NAME TO STATUS
21 Start In Progress
31 Done Done
41 Review In Review

Add a comment to an issue:

Terminal window
atlcli jira issue comment --key PROJ-123 "Working on this"

The comment text is passed as a positional argument after --key.

Terminal window
# Link issues
atlcli jira issue link --from PROJ-123 --to PROJ-456 --type "blocks"

Options:

FlagDescription
--fromSource issue key (required)
--toTarget issue key (required)
--typeLink type name (required)

Common link types:

TypeDescription
blocksThis issue blocks another
is blocked byThis issue is blocked by another
duplicatesThis issue duplicates another
relates toGeneral relation
clonesThis issue clones another

Watcher commands are top-level jira commands:

Terminal window
# List watchers
atlcli jira watchers PROJ-123
# Add yourself as watcher
atlcli jira watch PROJ-123
# Remove yourself
atlcli jira unwatch PROJ-123
Terminal window
# Assign to user
atlcli jira issue assign --key PROJ-123 --assignee alice@company.com
# Unassign
atlcli jira issue assign --key PROJ-123 --assignee none

Link Jira issues to Confluence pages for bidirectional traceability.

Terminal window
atlcli jira issue link-page --key PROJ-123 --page 12345

Options:

FlagDescription
--keyIssue key (required)
--pageConfluence page ID (required)
Terminal window
atlcli jira issue pages --key PROJ-123

Options:

FlagDescription
--keyIssue key (required)
--spaceFilter by Confluence space
Terminal window
atlcli jira issue unlink-page --key PROJ-123 --page 12345
Terminal window
# Link a Confluence page to an issue
atlcli jira issue link-page --key PROJ-123 --page 12345
# List all Confluence pages linked to an issue
atlcli jira issue pages --key PROJ-123
# Filter by space
atlcli jira issue pages --key PROJ-123 --space TEAM
# Remove link
atlcli jira issue unlink-page --key PROJ-123 --page 12345

All commands support --json:

Terminal window
atlcli jira issue get --key PROJ-123 --json
{
"schemaVersion": "1",
"key": "PROJ-123",
"id": "10001",
"summary": "Fix login bug",
"status": {
"name": "In Progress",
"category": "indeterminate"
},
"priority": {
"name": "High",
"iconUrl": "..."
},
"assignee": {
"displayName": "Alice",
"emailAddress": "alice@company.com"
},
"reporter": {
"displayName": "Bob",
"emailAddress": "bob@company.com"
},
"created": "2025-01-14T10:00:00Z",
"updated": "2025-01-14T15:30:00Z",
"labels": ["bug", "critical"],
"url": "https://company.atlassian.net/browse/PROJ-123"
}
Jira and Confluence are trademarks of Atlassian Corporation Plc. atlcli is not affiliated with, endorsed by, or sponsored by Atlassian.