Skip to content

Jira — Issues

Create a Jira issue.

Flags

  • --dry-run — Print the request that would be sent and exit without sending it.
  • --project <value> — Project key the issue belongs to.
  • --type <value> — Issue type name, for example Task or Bug.
  • --parent <value> — Parent issue key, making this a subtask of it.
  • --summary <value> — Issue summary.
  • --description <value> — Issue description as plain text.
  • --assignee <value> — Assignee: account id on Cloud, username on Server/DC.
  • --priority <value> — Priority name.
  • --label <value> — Label to apply. Repeatable.
  • --body <value> — Raw JSON request body.
  • --body-file <value> — Path to a file holding the raw JSON request body.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Common fields have flags; —body or —body-file supplies raw fields JSON for anything else, including custom fields. Typed flags are merged over the body, so a template file can provide the shape and a flag can override one value. Use —dry-run to see exactly what would be sent without sending it.

Examples

Terminal window
simply atlassian jira issue create --project PROJ --type Task --summary "Fix the thing"
Terminal window
simply atlassian jira issue create --project PROJ --type Bug --summary "Crash" --label urgent --label triage
Terminal window
simply atlassian jira issue create --project PROJ --type Subtask --parent PROJ-1 --summary "Write the tests"
Terminal window
simply atlassian jira issue create --body-file ./issue.json --dry-run

Delete a Jira issue.

Flags

  • --dry-run — Print the request that would be sent and exit without sending it.
  • --confirm — Required to proceed with an irreversible change.
  • --delete-subtasks — Also delete the issue’s subtasks.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Irreversible, so —confirm is required. There is no short form for it on purpose. Use —dry-run to see what would be deleted without deleting it.

Examples

Terminal window
simply atlassian jira issue delete PROJ-123 --confirm
Terminal window
simply atlassian jira issue delete PROJ-123 --confirm --delete-subtasks
Terminal window
simply atlassian jira issue delete PROJ-123 --dry-run

Show an issue field-change history.

Flags

  • --limit <value> — Maximum number of history entries to fetch. (default: 50)
  • --field <value> — Only show entries that changed this field, case-insensitively.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Lists who changed which fields, when, and the previous and new values. History is grouped by changelog entry and rendered oldest first. Use —json for raw changelog entries and completeness metadata.

Examples

Terminal window
simply atlassian jira issue history PROJ-123
Terminal window
simply atlassian jira issue history PROJ-123 --field status
Terminal window
simply atlassian jira issue history PROJ-123 --limit 10 --json
Section titled “simply atlassian jira issue remotelink create”

Link an issue to something outside Jira.

Flags

  • --dry-run — Print the request that would be sent and exit without sending it.
  • --url <value> — Absolute http or https URL to link to. (required)
  • --title <value> — Link text. Defaults to the URL.
  • --summary <value> — A line of description shown under the link.
  • --relationship <value> — How the issue relates to the target, e.g. “documented by”.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Most usefully, the Confluence page an issue came from. Writing a hyperlink into the page body only links one way and Jira cannot see it; this is the direction that makes the relationship visible from the issue. Get a page URL with “confluence open —print”. Re-running with the same URL updates the existing link rather than adding a duplicate.

Examples

Terminal window
simply atlassian jira issue remotelink create PROJ-123 --url https://wiki.example.com/pages/456 --title "Requirements"
Terminal window
simply atlassian jira issue remotelink create PROJ-123 --url https://x.test/doc --relationship "documented by"
Section titled “simply atlassian jira issue remotelink delete”

Remove a remote link from an issue.

Flags

  • --dry-run — Print the request that would be sent and exit without sending it.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Takes the link id, which “remotelink list” prints. No —confirm: the link holds no content and is re-creatable in one command from the URL, so it is not the irreversible loss that flag guards.

Examples

Terminal window
simply atlassian jira issue remotelink delete PROJ-123 10001
Terminal window
simply atlassian jira issue remotelink delete PROJ-123 10001 --dry-run
Section titled “simply atlassian jira issue remotelink list”

List an issue’s links to things outside Jira.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Remote links point at anything with a URL — most usefully the Confluence page an issue came from. Distinct from “issue link”, which only joins two Jira issues. The ID column is what “remotelink delete” needs.

Examples

Terminal window
simply atlassian jira issue remotelink list PROJ-123
Terminal window
simply atlassian jira issue remotelink list PROJ-123 --json

Search issues with JQL.

Flags

  • --jql <value> — JQL query to run. (required)
  • --limit <value> — Maximum number of issues to return across all pages. (default: 50)
  • --fields <value> — Comma-separated field names to request instead of the instance default.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Runs a JQL query and follows result pages until the limit is reached or the instance has no more matches. Use —json for the complete, unmodified API payload of every issue.

Jira Cloud rejects an unbounded query, so include a restriction such as a project, an assignee, or a date range — “order by updated desc” alone returns an error there, while “updated >= -7d order by updated desc” works on both deployments.

Examples

Terminal window
simply atlassian jira issue search --jql "project = PROJ AND statusCategory != Done"
Terminal window
simply atlassian jira issue search --jql "assignee = currentUser()" --limit 10
Terminal window
simply atlassian jira issue search --jql "updated >= -7d order by updated desc" --limit 5 --json

Move a Jira issue through a workflow transition.

Flags

  • --dry-run — Print the request that would be sent and exit without sending it.
  • --comment <value> — Comment to add as part of the transition.
  • --by-name — Treat the transition argument as a name even if it is all digits.
  • --body <value> — Raw JSON request body.
  • --body-file <value> — Path to a file holding the raw JSON request body.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

The transition may be given as an id or as a name, matched case-insensitively against the transitions currently available for the issue — a name is what a person or an agent actually knows. An unmatched name lists what is available. Use “issue transitions” to see the set, or —dry-run to check without sending.

Examples

Terminal window
simply atlassian jira issue transition PROJ-123 Done
Terminal window
simply atlassian jira issue transition PROJ-123 "In Progress"
Terminal window
simply atlassian jira issue transition PROJ-123 31
Terminal window
simply atlassian jira issue transition PROJ-123 Done --comment "shipped"

List the transitions available for an issue.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Shows which transitions the issue can currently take, which is what makes “issue transition” usable: the available set depends on the workflow and the current status.

Examples

Terminal window
simply atlassian jira issue transitions PROJ-123
Terminal window
simply atlassian jira issue transitions PROJ-123 --json

Update fields on a Jira issue.

Flags

  • --dry-run — Print the request that would be sent and exit without sending it.
  • --summary <value> — New summary.
  • --description <value> — New description as plain text.
  • --assignee <value> — New assignee: account id on Cloud, username on Server/DC.
  • --priority <value> — New priority name.
  • --label <value> — Label to set. Repeatable, and replaces the existing labels.
  • --body <value> — Raw JSON request body.
  • --body-file <value> — Path to a file holding the raw JSON request body.
  • --verify — Re-read the issue after updating and print it.

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Common fields have flags; —body or —body-file supplies raw fields JSON for anything else, including custom fields. Jira answers an update with an empty 204, so the issue is re-read afterwards and printed — silence is a poor confirmation that anything changed. Pass —no-verify to skip that second request.

Examples

Terminal window
simply atlassian jira issue update PROJ-123 --summary "Clearer title"
Terminal window
simply atlassian jira issue update PROJ-123 --label triage --label urgent
Terminal window
simply atlassian jira issue update PROJ-123 --body-file ./fields.json --dry-run

Show a single Jira issue.

Flags

  • --fields <value> — Comma-separated field names to request instead of the instance default.
  • --expand <value> — Comma-separated Jira expand parameters (for example changelog).

Connection

  • -e, --env-file <value> — Path to a .env file holding connection settings.
  • --jira-url <value> — Base URL of the Jira instance. (env: JIRA_URL)
  • --jira-username <value> — Account email for Jira Cloud basic auth. (env: JIRA_USERNAME)
  • --jira-api-token <value> — API token for Jira Cloud basic auth. (env: JIRA_API_TOKEN)
  • --jira-personal-token <value> — Personal access token for Jira Server/Data Center. (env: JIRA_PERSONAL_TOKEN)

Global

  • --json — the raw API payload, for scripts and agents.

Prints a curated set of fields for one issue. Use —json for the complete, unmodified API payload, and —fields to control which fields the instance returns.

Examples

Terminal window
simply atlassian jira issue view PROJ-123
Terminal window
simply atlassian jira issue view PROJ-123 --json
Terminal window
simply atlassian jira issue view PROJ-123 --fields summary,status,assignee