Skip to content

issue

add-attachment

Add attachment

Adds one or more attachments to an issue. Attachments are posted as multipart/form-data (RFC 1867).

Note that:

  • The request must have a X-Atlassian-Token: no-check header, if not it is blocked. See Special headers for more information.
  • The name of the multipart/form-data parameter that contains the attachments must be file.

The following examples upload a file called myfile.txt to the issue TEST-123:

curl

curl --location --request POST 'https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments'
 -u 'email@example.com:<api_token>'
 -H 'X-Atlassian-Token: no-check'
 --form 'file=@"myfile.txt"'

Node.js

// This code sample uses the 'node-fetch' and 'form-data' libraries:
 // https://www.npmjs.com/package/node-fetch
 // https://www.npmjs.com/package/form-data
 const fetch = require('node-fetch');
 const FormData = require('form-data');
 const fs = require('fs');

 const filePath = 'myfile.txt';
 const form = new FormData();
 const stats = fs.statSync(filePath);
 const fileSizeInBytes = stats.size;
 const fileStream = fs.createReadStream(filePath);

 form.append('file', fileStream, {knownLength: fileSizeInBytes});

 fetch('https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments', {
     method: 'POST',
     body: form,
     headers: {
         'Authorization': `Basic ${Buffer.from(
             'email@example.com:'
         ).toString('base64')}`,
         'Accept': 'application/json',
         'X-Atlassian-Token': 'no-check'
     }
 })
     .then(response => {
         console.log(
             `Response: ${response.status} ${response.statusText}`
         );
         return response.text();
     })
     .then(text => console.log(text))
     .catch(err => console.error(err));

Java

// This code sample uses the  'Unirest' library:
 // http://unirest.io/java.html
 HttpResponse response = Unirest.post("https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments")
         .basicAuth("email@example.com", "")
         .header("Accept", "application/json")
         .header("X-Atlassian-Token", "no-check")
         .field("file", new File("myfile.txt"))
         .asJson();

         System.out.println(response.getBody());

Python

# This code sample uses the 'requests' library:
 # http://docs.python-requests.org
 import requests
 from requests.auth import HTTPBasicAuth
 import json

 url = "https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments"

 auth = HTTPBasicAuth("email@example.com", "")

 headers = {
    "Accept": "application/json",
    "X-Atlassian-Token": "no-check"
 }

 response = requests.request(
    "POST",
    url,
    headers = headers,
    auth = auth,
    files = {
         "file": ("myfile.txt", open("myfile.txt","rb"), "application-type")
    }
 )

 print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))

PHP

// This code sample uses the 'Unirest' library:
 // http://unirest.io/php.html
 Unirest\Request::auth('email@example.com', '');

 $headers = array(
   'Accept' => 'application/json',
   'X-Atlassian-Token' => 'no-check'
 );

 $parameters = array(
   'file' => File::add('myfile.txt')
 );

 $response = Unirest\Request::post(
   'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments',
   $headers,
   $parameters
 );

 var_dump($response)

Forge

// This sample uses Atlassian Forge and the `form-data` library.
 // https://developer.atlassian.com/platform/forge/
 // https://www.npmjs.com/package/form-data
 import api from "@forge/api";
 import FormData from "form-data";

 const form = new FormData();
 form.append('file', fileStream, {knownLength: fileSizeInBytes});

 const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', {
     method: 'POST',
     body: form,
     headers: {
         'Accept': 'application/json',
         'X-Atlassian-Token': 'no-check'
     }
 });

 console.log(`Response: ${response.status} ${response.statusText}`);
 console.log(await response.json());

Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a MultiPartEntity class for multipart POST operations.

This operation can be accessed anonymously.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/attachments

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue that attachments are added to.

Example:

bash
jr issue add-attachment --issueIdOrKey <issueIdOrKey>

add-comment

Add comment

Adds a comment to an issue.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects and Add comments project permission for the project that the issue containing the comment is in.
  • If issue-level security is configured, issue-level security permission to view the issue.

POST /rest/api/3/issue/{issueIdOrKey}/comment

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--expandstringNoUse expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML.
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue add-comment --issueIdOrKey <issueIdOrKey>

add-vote

Add vote

Adds the user's vote to an issue. This is the equivalent of the user clicking Vote on an issue in Jira.

This operation requires the Allow users to vote on issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/votes

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue add-vote --issueIdOrKey <issueIdOrKey>

add-watcher

Add watcher

Adds a user as a watcher of an issue by passing the account ID of the user. For example, "5b10ac8d82e05b22cc7d4ef5". If no user is specified the calling user is added.

This operation requires the Allow users to watch issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • To add users other than themselves to the watchlist, Manage watcher list project permission for the project that the issue is in.

POST /rest/api/3/issue/{issueIdOrKey}/watchers

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue add-watcher --issueIdOrKey <issueIdOrKey>

add-worklog

Add worklog

Adds a worklog to an issue.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

This operation can be accessed anonymously.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/worklog

FlagTypeRequiredDescription
--adjustEstimatestringNoDefines how to update the issue's time estimate, the options are:
  • new Sets the estimate to a specific value, defined in newEstimate.
  • leave Leaves the estimate unchanged.
  • manual Reduces the estimate by amount specified in reduceBy.
  • auto Reduces the estimate by the value of timeSpent in the worklog. | | --body | string | No | request body (JSON string, @file, or - for stdin) | | --expand | string | No | Use expand to include additional information about work logs in the response. This parameter accepts properties, which returns worklog properties. | | --issueIdOrKey | string | Yes | The ID or key the issue. | | --newEstimate | string | No | The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For example, 2d. Required when adjustEstimate is new. | | --notifyUsers | string | No | Whether users watching the issue are notified by email. | | --overrideEditableFlag | string | No | Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with Administer Jira global permission can use this flag. | | --reduceBy | string | No | The amount to reduce the issue's remaining estimate by, as days (#d), hours (#h), or minutes (#m). For example, 2d. Required when adjustEstimate is manual. |

Example:

bash
jr issue add-worklog --issueIdOrKey <issueIdOrKey>

archive

Archive issue(s) by issue ID/key

Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) archived in the process and the errors encountered, if any.

Note that:

  • you can't archive subtasks directly, only through their parent issues
  • you can only archive issues from software, service management, and business projects

Permissions required: Jira admin or site admin: global permission

License required: Premium or Enterprise

Signed-in users only: This API can't be accessed anonymously.

PUT /rest/api/3/issue/archive

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue archive

archive-async

Archive issue(s) by JQL

Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status of the submitted request.

You can use the get task and cancel task APIs to manage the request.

Note that:

  • you can't archive subtasks directly, only through their parent issues
  • you can only archive issues from software, service management, and business projects

Permissions required: Jira admin or site admin: global permission

License required: Premium or Enterprise

Signed-in users only: This API can't be accessed anonymously.

Rate limiting: Only a single request per jira instance can be active at any given time.

POST /rest/api/3/issue/archive

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue archive-async

assign

Assign issue

Assigns an issue to a user. Use this operation when the calling user does not have the Edit Issues permission but has the Assign issue permission for the project that the issue is in.

If name or accountId is set to:

  • "-1", the issue is assigned to the default assignee for the project.
  • null, the issue is set to unassigned.

This operation can be accessed anonymously.

Permissions required:

PUT /rest/api/3/issue/{issueIdOrKey}/assignee

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue to be assigned.

Example:

bash
jr issue assign --issueIdOrKey <issueIdOrKey>

bulk-delete-issue-property

Bulk delete issue property

Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.

The criteria the filter used to identify eligible issues are:

  • entityIds Only issues from this list are eligible.
  • currentValue Only issues with the property set to this value are eligible.

If both criteria is specified, they are joined with the logical AND: only issues that satisfy both criteria are considered eligible.

If no filter criteria are specified, all the issues visible to the user and where the user has the EDIT_ISSUES permission for the issue are considered eligible.

This operation is:

  • transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.
  • asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.

Permissions required:

DELETE /rest/api/3/issue/properties/{propertyKey}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--propertyKeystringYesThe key of the property.

Example:

bash
jr issue bulk-delete-issue-property --propertyKey <propertyKey>

bulk-delete-worklogs

Bulk delete worklogs

Deletes a list of worklogs from an issue. This is an experimental API with limitations:

  • You can't delete more than 5000 worklogs at once.
  • No notifications will be sent for deleted worklogs.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

Permissions required:

  • Browse projects project permission for the project containing the issue.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Delete all worklogs project permission to delete any worklog.
  • If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

DELETE /rest/api/3/issue/{issueIdOrKey}/worklog

FlagTypeRequiredDescription
--adjustEstimatestringNoDefines how to update the issue's time estimate, the options are:
  • leave Leaves the estimate unchanged.
  • auto Reduces the estimate by the aggregate value of timeSpent across all worklogs being deleted. | | --body | string | No | request body (JSON string, @file, or - for stdin) | | --issueIdOrKey | string | Yes | The ID or key of the issue. | | --overrideEditableFlag | string | No | Whether the work log entries should be removed to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with admin permission can use this flag. |

Example:

bash
jr issue bulk-delete-worklogs --issueIdOrKey <issueIdOrKey>

bulk-fetch

Bulk fetch issues

Returns the details for a set of requested issues. You can request up to 100 issues.

Each issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is not returned.

Issues will be returned in ascending id order. If there are errors, Jira will return a list of issues which couldn't be fetched along with error messages.

This operation can be accessed anonymously.

Permissions required: Issues are included in the response where the user has:

POST /rest/api/3/issue/bulkfetch

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue bulk-fetch

bulk-move-worklogs

Bulk move worklogs

Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:

  • You can't move more than 5000 worklogs at once.
  • You can't move worklogs containing an attachment.
  • You can't move worklogs restricted by project roles.
  • No notifications will be sent for moved worklogs.
  • No webhooks or events will be sent for moved worklogs.
  • No issue history will be recorded for moved worklogs.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

Permissions required:

  • Browse projects project permission for the projects containing the source and destination issues.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Delete all worklogs project permission
  • Work on issues project permission to log work on an issue, that is to create a worklog entry, if time tracking is enabled. This permission is required as a prerequisite for applying the other time-tracking permissions
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

POST /rest/api/3/issue/{issueIdOrKey}/worklog/move

FlagTypeRequiredDescription
--adjustEstimatestringNoDefines how to update the issues' time estimate, the options are:
  • leave Leaves the estimate unchanged.
  • auto Reduces the estimate by the aggregate value of timeSpent across all worklogs being moved in the source issue, and increases it in the destination issue. | | --body | string | No | request body (JSON string, @file, or - for stdin) | | --issueIdOrKey | string | Yes | | | --overrideEditableFlag | string | No | Whether the work log entry should be moved to and from the issues even if the issues are not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with admin permission can use this flag. |

Example:

bash
jr issue bulk-move-worklogs --issueIdOrKey <issueIdOrKey>

bulk-set-issue-properties-by

Bulk set issue properties by issue

Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up to 100 issues included in the request.

The value of the request body must be a valid, non-empty JSON.

This operation is:

  • asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.
  • non-transactional. Updating some entities may fail. Such information will available in the task result.

Permissions required:

POST /rest/api/3/issue/properties/multi

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue bulk-set-issue-properties-by

bulk-set-issue-property

Bulk set issue property

Sets a property value on multiple issues.

The value set can be a constant or determined by a Jira expression. Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the restrictions that apply to all Jira expressions.

The issues to be updated can be specified by a filter.

The filter identifies issues eligible for update using these criteria:

  • entityIds Only issues from this list are eligible.

  • currentValue Only issues with the property set to this value are eligible.

  • hasProperty:

    • If true, only issues with the property are eligible.
    • If false, only issues without the property are eligible.

If more than one criteria is specified, they are joined with the logical AND: only issues that satisfy all criteria are eligible.

If an invalid combination of criteria is provided, an error is returned. For example, specifying a currentValue and hasProperty as false would not match any issues (because without the property the property cannot have a value).

The filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT_ISSUES permission for the issue are considered eligible.

This operation is:

  • transactional, either all eligible issues are updated or, when errors occur, none are updated.
  • asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.

Permissions required:

PUT /rest/api/3/issue/properties/{propertyKey}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--propertyKeystringYesThe key of the property. The maximum length is 255 characters.

Example:

bash
jr issue bulk-set-issue-property --propertyKey <propertyKey>

bulk-set-issues-properties-list

Bulk set issues properties by list

Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified along with up to 10,000 issues on which to set or update that list of entity properties.

The value of the request body must be a valid, non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.

This operation is:

  • transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.
  • asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates.

Permissions required:

POST /rest/api/3/issue/properties

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue bulk-set-issues-properties-list

create-issue

Create issue

Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.

The content of the issue or subtask is defined using update and fields. The fields that can be set in the issue or subtask are determined using the Get create issue metadata. These are the same fields that appear on the issue's create screen. Note that the description, environment, and any textarea type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (textfield) accept a string and don't handle Atlassian Document Format content.

Creating a subtask differs from creating an issue as follows:

  • issueType must be set to a subtask issue type (use Get create issue metadata to find subtask issue types).
  • parent must contain the ID or key of the parent issue.

In a next-gen project any issue may be made a child providing that the parent and child are members of the same project.

Permissions required: Browse projects and Create issues project permissions for the project in which the issue or subtask is created.

POST /rest/api/3/issue

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--updateHistorystringNoWhether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen.

Example:

bash
jr issue create-issue

create-issues

Bulk create issue

Creates upto 50 issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.

The content of each issue or subtask is defined using update and fields. The fields that can be set in the issue or subtask are determined using the Get create issue metadata. These are the same fields that appear on the issues' create screens. Note that the description, environment, and any textarea type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (textfield) accept a string and don't handle Atlassian Document Format content.

Creating a subtask differs from creating an issue as follows:

  • issueType must be set to a subtask issue type (use Get create issue metadata to find subtask issue types).
  • parent the must contain the ID or key of the parent issue.

Permissions required: Browse projects and Create issues project permissions for the project in which each issue or subtask is created.

POST /rest/api/3/issue/bulk

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue create-issues

Create or update remote issue link

Creates or updates a remote issue link for an issue.

If a globalId is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.

This operation requires issue linking to be active.

This operation can be accessed anonymously.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/remotelink

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue create-or-update-remote-issue-link --issueIdOrKey <issueIdOrKey>

delete

Delete issue

Deletes an issue.

An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set deleteSubtasks. This causes the issue's subtasks to be deleted with the issue.

This operation can be accessed anonymously.

Permissions required:

DELETE /rest/api/3/issue/{issueIdOrKey}

FlagTypeRequiredDescription
--deleteSubtasksstringNoWhether the issue's subtasks are deleted when the issue is deleted.
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue delete --issueIdOrKey <issueIdOrKey>

delete-comment

Delete comment

Deletes a comment.

Permissions required:

  • Browse projects project permission for the project that the issue containing the comment is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Delete all comments project permission to delete any comment or Delete own comments to delete comment created by the user,
  • If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.

DELETE /rest/api/3/issue/{issueIdOrKey}/comment/{id}

FlagTypeRequiredDescription
--idstringYesThe ID of the comment.
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue delete-comment --id <id> --issueIdOrKey <issueIdOrKey>

delete-property

Delete issue property

Deletes an issue's property.

This operation can be accessed anonymously.

Permissions required:

DELETE /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe key or ID of the issue.
--propertyKeystringYesThe key of the property.

Example:

bash
jr issue delete-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey>

Delete remote issue link by global ID

Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass system=http://www.mycompany.com/support&id=1 as system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1.

This operation requires issue linking to be active.

This operation can be accessed anonymously.

Permissions required:

DELETE /rest/api/3/issue/{issueIdOrKey}/remotelink

FlagTypeRequiredDescription
--globalIdstringNoThe global ID of a remote issue link.
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue delete-remote-issue-link-by-global-id --issueIdOrKey <issueIdOrKey>

Delete remote issue link by ID

Deletes a remote issue link from an issue.

This operation requires issue linking to be active.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects, Edit issues, and Link issues project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.

DELETE /rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--linkIdstringYesThe ID of a remote issue link.

Example:

bash
jr issue delete-remote-issue-link-by-id --issueIdOrKey <issueIdOrKey> --linkId <linkId>

delete-worklog

Delete worklog

Deletes a worklog from an issue.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Delete all worklogs project permission to delete any worklog or Delete own worklogs to delete worklogs created by the user,
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

DELETE /rest/api/3/issue/{issueIdOrKey}/worklog/{id}

FlagTypeRequiredDescription
--adjustEstimatestringNoDefines how to update the issue's time estimate, the options are:
  • new Sets the estimate to a specific value, defined in newEstimate.
  • leave Leaves the estimate unchanged.
  • manual Increases the estimate by amount specified in increaseBy.
  • auto Reduces the estimate by the value of timeSpent in the worklog. | | --id | string | Yes | The ID of the worklog. | | --increaseBy | string | No | The amount to increase the issue's remaining estimate by, as days (#d), hours (#h), or minutes (#m or #). For example, 2d. Required when adjustEstimate is manual. | | --issueIdOrKey | string | Yes | The ID or key of the issue. | | --newEstimate | string | No | The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For example, 2d. Required when adjustEstimate is new. | | --notifyUsers | string | No | Whether users watching the issue are notified by email. | | --overrideEditableFlag | string | No | Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with admin permission can use this flag. |

Example:

bash
jr issue delete-worklog --id <id> --issueIdOrKey <issueIdOrKey>

delete-worklog-property

Delete worklog property

Deletes a worklog property.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

DELETE /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--propertyKeystringYesThe key of the property.
--worklogIdstringYesThe ID of the worklog.

Example:

bash
jr issue delete-worklog-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey> --worklogId <worklogId>

do-transition

Transition issue

Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.

sortByCategory To update the fields on the transition screen, specify the fields in the fields or update parameters in the request body. Get details about the fields using Get transitions with the transitions.fields expand.

This operation can be accessed anonymously.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/transitions

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue do-transition --issueIdOrKey <issueIdOrKey>

edit

Edit issue

Edits an issue. Issue properties may be updated as part of the edit. Please note that issue transition is not supported and is ignored here. To transition an issue, please use Transition issue.

The edits to the issue's fields are defined using update and fields. The fields that can be edited are determined using Get edit issue metadata.

The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting update.parent.set.none to true. Note that the description, environment, and any textarea type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (textfield) accept a string and don't handle Atlassian Document Format content.

Connect apps having an app user with Administer Jira global permission, and Forge apps acting on behalf of users with Administer Jira global permission, can override the screen security configuration using overrideScreenSecurity and overrideEditableFlag.

This operation can be accessed anonymously.

Permissions required:

PUT /rest/api/3/issue/{issueIdOrKey}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--expandstringNoThe Get issue API expand parameter to use in the response if the returnIssue parameter is true.
--issueIdOrKeystringYesThe ID or key of the issue.
--notifyUsersstringNoWhether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored.
--overrideEditableFlagstringNoWhether screen security is overridden to enable uneditable fields to be edited. Available to Connect and Forge app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
--overrideScreenSecuritystringNoWhether screen security is overridden to enable hidden fields to be edited. Available to Connect and Forge app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
--returnIssuestringNoWhether the response should contain the issue with fields edited in this request. The returned issue will have the same format as in the Get issue API.

Example:

bash
jr issue edit --issueIdOrKey <issueIdOrKey>

get

Get issue

Returns the details for an issue.

The issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is not returned. The issue key returned in the response is the key of the issue found.

This operation can be accessed anonymously.

Permissions required:

GET /rest/api/3/issue/{issueIdOrKey}

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:
  • renderedFields Returns field values rendered in HTML format.

  • names Returns the display name of each field.

  • schema Returns the schema describing a field type.

  • transitions Returns all possible transitions for the issue.

  • editmeta Returns information about how each field can be edited.

  • changelog Returns a list of recent updates to an issue, sorted by date, starting from the most recent.

  • versionedRepresentations Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the fields parameter is ignored. | | --failFast | string | No | Whether to fail the request quickly in case of an error while loading fields for an issue. For failFast=true, if one field fails, the entire operation fails. For failFast=false, the operation will continue even if a field fails. It will return a valid response, but without values for the failed field(s). | | --fields | string | No | A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values:

  • *all Returns all fields.

  • *navigable Returns navigable fields.

  • Any issue field, prefixed with a minus to exclude.

Examples:

  • summary,comment Returns only the summary and comments fields.
  • -description Returns all (default) fields except description.
  • *navigable,-comment Returns all navigable fields except comment.

This parameter may be specified multiple times. For example, fields=field1,field2& fields=field3.

Note: All fields are returned by default. This differs from Search for issues using JQL (GET) and Search for issues using JQL (POST) where the default is all navigable fields. | | --fieldsByKeys | string | No | Whether fields in fields are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID. | | --issueIdOrKey | string | Yes | The ID or key of the issue. | | --properties | string | No | A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:

  • *all Returns all issue properties.
  • Any issue property key, prefixed with a minus to exclude.

Examples:

  • *all Returns all properties.
  • *all,-prop1 Returns all properties except prop1.
  • prop1,prop2 Returns prop1 and prop2 properties.

This parameter may be specified multiple times. For example, properties=prop1,prop2& properties=prop3. | | --updateHistory | string | No | Whether the project in which the issue is created is added to the user's Recently viewed project list, as shown under Projects in Jira. This also populates the JQL issues search lastViewed field. |

Example:

bash
jr issue get --issueIdOrKey <issueIdOrKey>

get-change-logs

Get changelogs

Returns a paginated list of all changelogs for an issue sorted by date, starting from the oldest.

This operation can be accessed anonymously.

Permissions required:

GET /rest/api/3/issue/{issueIdOrKey}/changelog

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr issue get-change-logs --issueIdOrKey <issueIdOrKey>

get-change-logs-by-ids

Get changelogs by IDs

Returns changelogs for an issue specified by a list of changelog IDs.

This operation can be accessed anonymously.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/changelog/list

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue get-change-logs-by-ids --issueIdOrKey <issueIdOrKey>

get-comment

Get comment

Returns a comment.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project containing the comment.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.

GET /rest/api/3/issue/{issueIdOrKey}/comment/{id}

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML.
--idstringYesThe ID of the comment.
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue get-comment --id <id> --issueIdOrKey <issueIdOrKey>

get-comments

Get comments

Returns all comments for an issue.

This operation can be accessed anonymously.

Permissions required: Comments are included in the response where the user has:

  • Browse projects project permission for the project containing the comment.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.

GET /rest/api/3/issue/{issueIdOrKey}/comment

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML.
--issueIdOrKeystringYesThe ID or key of the issue.
--maxResultsstringNoThe maximum number of items to return per page.
--orderBystringNoOrder the results by a field. Accepts created to sort comments by their created date.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr issue get-comments --issueIdOrKey <issueIdOrKey>

get-create-issue-meta

Get create issue metadata

Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in Create issue and Create issues.

Deprecated, see Create Issue Meta Endpoint Deprecation Notice.

The request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.

This operation can be accessed anonymously.

Permissions required: Create issues project permission in the requested projects.

GET /rest/api/3/issue/createmeta

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about issue metadata in the response. This parameter accepts projects.issuetypes.fields, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the fields and update fields in Create issue and Create issues.
--issuetypeIdsstringNoList of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, issuetypeIds=10000,10001&issuetypeIds=10020,10021. This parameter may be provided with issuetypeNames.
--issuetypeNamesstringNoList of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, issuetypeNames=name1,name2&issuetypeNames=name3. This parameter may be provided with issuetypeIds.
--projectIdsstringNoList of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, projectIds=10000,10001&projectIds=10020,10021. This parameter may be provided with projectKeys.
--projectKeysstringNoList of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, projectKeys=proj1,proj2&projectKeys=proj3. This parameter may be provided with projectIds.

Example:

bash
jr issue get-create-issue-meta

get-create-issue-meta-issue-type-id

Get create field metadata for a project and issue type id

Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the requests in Create issue and Create issues.

This operation can be accessed anonymously.

Permissions required: Create issues project permission in the requested projects.

GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}

FlagTypeRequiredDescription
--issueTypeIdstringYesThe issuetype ID.
--maxResultsstringNoThe maximum number of items to return per page.
--projectIdOrKeystringYesThe ID or key of the project.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr issue get-create-issue-meta-issue-type-id --issueTypeId <issueTypeId> --projectIdOrKey <projectIdOrKey>

get-create-issue-meta-issue-types

Get create metadata issue types for a project

Returns a page of issue type metadata for a specified project. Use the information to populate the requests in Create issue and Create issues.

This operation can be accessed anonymously.

Permissions required: Create issues project permission in the requested projects.

GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes

FlagTypeRequiredDescription
--maxResultsstringNoThe maximum number of items to return per page.
--projectIdOrKeystringYesThe ID or key of the project.
--startAtstringNoThe index of the first item to return in a page of results (page offset).

Example:

bash
jr issue get-create-issue-meta-issue-types --projectIdOrKey <projectIdOrKey>

get-edit-issue-meta

Get edit issue metadata

Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in Edit issue.

This endpoint will check for these conditions:

  1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type scheme configuration. overrideScreenSecurity=true skips this condition.
  2. Field is visible in the field configuration. overrideScreenSecurity=true skips this condition.
  3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if attachments are enabled. Assignee only shows if user has permissions to assign the issue.
  4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All system fields are assumed to have context in all projects and all issue types.
  5. Issue has a project, issue type, and status defined.
  6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step. overrideEditableFlag=true skips this condition.
  7. The current workflow step is editable. This is true by default, but can be disabled by setting the jira.issue.editable property to false. overrideEditableFlag=true skips this condition.
  8. User has Edit issues permission.
  9. Workflow permissions allow editing a field. This is true by default but can be modified using jira.permission.* workflow properties.

Fields hidden using Issue layout settings page remain editable.

Connect apps having an app user with Administer Jira global permission, and Forge apps acting on behalf of users with Administer Jira global permission, can return additional details using:

  • overrideScreenSecurity When this flag is true, then this endpoint skips checking if fields are available through screens, and field configuration (conditions 1. and 2. from the list above).
  • overrideEditableFlag When this flag is true, then this endpoint skips checking if workflow is present and if the current step is editable (conditions 6. and 7. from the list above).

This operation can be accessed anonymously.

Permissions required:

Note: For any fields to be editable the user must have the Edit issues project permission for the issue.

GET /rest/api/3/issue/{issueIdOrKey}/editmeta

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--overrideEditableFlagstringNoWhether non-editable fields are returned. Available to Connect and Forge app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
--overrideScreenSecuritystringNoWhether hidden fields are returned. Available to Connect and Forge app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.

Example:

bash
jr issue get-edit-issue-meta --issueIdOrKey <issueIdOrKey>

get-is-watching-issue-bulk

Get is watching issue bulk

Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned watched status is false.

This operation requires the Allow users to watch issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

Permissions required:

POST /rest/api/3/issue/watching

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue get-is-watching-issue-bulk

get-issue-worklog

Get issue worklogs

Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog started on or after a date and time.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

This operation can be accessed anonymously.

Permissions required: Workloads are only returned where the user has:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

GET /rest/api/3/issue/{issueIdOrKey}/worklog

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about worklogs in the response. This parameter acceptsproperties, which returns worklog properties.
--issueIdOrKeystringYesThe ID or key of the issue.
--maxResultsstringNoThe maximum number of items to return per page.
--startAtstringNoThe index of the first item to return in a page of results (page offset).
--startedAfterstringNoThe worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned.
--startedBeforestringNoThe worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned.

Example:

bash
jr issue get-issue-worklog --issueIdOrKey <issueIdOrKey>

get-limit-report

Get issue limit report

Returns all issues breaching and approaching per-issue limits.

Permissions required:

GET /rest/api/3/issue/limit/report

FlagTypeRequiredDescription
--isReturningKeysstringNoReturn issue keys instead of issue ids in the response.

Usage: Add ?isReturningKeys=true to the end of the path to request issue keys. |

Example:

bash
jr issue get-limit-report

get-picker-resource

Get issue picker suggestions

Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.

This operation returns two lists:

  • History Search which includes issues from the user's history of created, edited, or viewed issues that contain the string in the query parameter.
  • Current Search which includes issues that match the JQL expression in currentJQL and contain the string in the query parameter.

This operation can be accessed anonymously.

Permissions required: None.

GET /rest/api/3/issue/picker

FlagTypeRequiredDescription
--currentIssueKeystringNoThe key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query.
--currentJQLstringNoA JQL query defining a list of issues to search for the query term. Note that username and userkey cannot be used as search terms for this parameter, due to privacy reasons. Use accountId instead.
--currentProjectIdstringNoThe ID of a project that suggested issues must belong to.
--querystringNoA string to match against text fields in the issue such as title, description, or comments.
--showSubTaskParentstringNoWhen currentIssueKey is a subtask, whether to include the parent issue in the suggestions if it matches the query.
--showSubTasksstringNoIndicate whether to include subtasks in the suggestions list.

Example:

bash
jr issue get-picker-resource

get-property

Get issue property

Returns the key and value of an issue's property.

This operation can be accessed anonymously.

Permissions required:

GET /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe key or ID of the issue.
--propertyKeystringYesThe key of the property.

Example:

bash
jr issue get-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey>

get-property-keys

Get issue property keys

Returns the URLs and keys of an issue's properties.

This operation can be accessed anonymously.

Permissions required: Property details are only returned where the user has:

GET /rest/api/3/issue/{issueIdOrKey}/properties

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe key or ID of the issue.

Example:

bash
jr issue get-property-keys --issueIdOrKey <issueIdOrKey>

Get remote issue link by ID

Returns a remote issue link for an issue.

This operation requires issue linking to be active.

This operation can be accessed anonymously.

Permissions required:

GET /rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--linkIdstringYesThe ID of the remote issue link.

Example:

bash
jr issue get-remote-issue-link-by-id --issueIdOrKey <issueIdOrKey> --linkId <linkId>

Get remote issue links

Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass system=http://www.mycompany.com/support&id=1 as system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1.

This operation requires issue linking to be active.

This operation can be accessed anonymously.

Permissions required:

GET /rest/api/3/issue/{issueIdOrKey}/remotelink

FlagTypeRequiredDescription
--globalIdstringNoThe global ID of the remote issue link.
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue get-remote-issue-links --issueIdOrKey <issueIdOrKey>

get-transitions

Get transitions

Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.

Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.

This operation can be accessed anonymously.

Permissions required: A list or transition is returned only when the user has:

However, if the user does not have the Transition issues project permission the response will not list any transitions.

GET /rest/api/3/issue/{issueIdOrKey}/transitions

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about transitions in the response. This parameter accepts transitions.fields, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the fields and update fields in Transition issue.
--includeUnavailableTransitionsstringNoWhether details of transitions that fail a condition are included in the response
--issueIdOrKeystringYesThe ID or key of the issue.
--skipRemoteOnlyConditionstringNoWhether transitions with the condition Hide From User Condition are included in the response. Available to Connect and Forge app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
--sortByOpsBarAndStatusstringNoWhether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value.
--transitionIdstringNoThe ID of the transition.

Example:

bash
jr issue get-transitions --issueIdOrKey <issueIdOrKey>

get-votes

Get votes

Returns details about the votes on an issue.

This operation requires the Allow users to vote on issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

This operation can be accessed anonymously.

Permissions required:

Note that users with the necessary permissions for this operation but without the View voters and watchers project permissions are not returned details in the voters field.

GET /rest/api/3/issue/{issueIdOrKey}/votes

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue get-votes --issueIdOrKey <issueIdOrKey>

get-watchers

Get issue watchers

Returns the watchers for an issue.

This operation requires the Allow users to watch issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is ini
  • If issue-level security is configured, issue-level security permission to view the issue.
  • To see details of users on the watchlist other than themselves, View voters and watchers project permission for the project that the issue is in.

GET /rest/api/3/issue/{issueIdOrKey}/watchers

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue get-watchers --issueIdOrKey <issueIdOrKey>

get-worklog

Get worklog

Returns a worklog.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

GET /rest/api/3/issue/{issueIdOrKey}/worklog/{id}

FlagTypeRequiredDescription
--expandstringNoUse expand to include additional information about work logs in the response. This parameter accepts

properties, which returns worklog properties. | | --id | string | Yes | The ID of the worklog. | | --issueIdOrKey | string | Yes | The ID or key of the issue. |

Example:

bash
jr issue get-worklog --id <id> --issueIdOrKey <issueIdOrKey>

get-worklog-property

Get worklog property

Returns the value of a worklog property.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

GET /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--propertyKeystringYesThe key of the property.
--worklogIdstringYesThe ID of the worklog.

Example:

bash
jr issue get-worklog-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey> --worklogId <worklogId>

get-worklog-property-keys

Get worklog property keys

Returns the keys of all properties for a worklog.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

GET /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.
--worklogIdstringYesThe ID of the worklog.

Example:

bash
jr issue get-worklog-property-keys --issueIdOrKey <issueIdOrKey> --worklogId <worklogId>

notify

Send notification for issue

Creates an email notification for an issue and adds it to the mail queue.

Permissions required:

POST /rest/api/3/issue/{issueIdOrKey}/notify

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesID or key of the issue that the notification is sent for.

Example:

bash
jr issue notify --issueIdOrKey <issueIdOrKey>

remove-vote

Delete vote

Deletes a user's vote from an issue. This is the equivalent of the user clicking Unvote on an issue in Jira.

This operation requires the Allow users to vote on issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

Permissions required:

DELETE /rest/api/3/issue/{issueIdOrKey}/votes

FlagTypeRequiredDescription
--issueIdOrKeystringYesThe ID or key of the issue.

Example:

bash
jr issue remove-vote --issueIdOrKey <issueIdOrKey>

remove-watcher

Delete watcher

Deletes a user as a watcher of an issue.

This operation requires the Allow users to watch issues option to be ON. This option is set in General configuration for Jira. See Configuring Jira application options for details.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • To remove users other than themselves from the watchlist, Manage watcher list project permission for the project that the issue is in.

DELETE /rest/api/3/issue/{issueIdOrKey}/watchers

FlagTypeRequiredDescription
--accountIdstringNoThe account ID of the user, which uniquely identifies the user across all Atlassian products. For example, 5b10ac8d82e05b22cc7d4ef5. Required.
--issueIdOrKeystringYesThe ID or key of the issue.
--usernamestringNoThis parameter is no longer available. See the deprecation notice for details.

Example:

bash
jr issue remove-watcher --issueIdOrKey <issueIdOrKey>

set-property

Set issue property

Sets the value of an issue's property. Use this resource to store custom data against an issue.

The value of the request body must be a valid, non-empty JSON blob. The maximum length is 32768 characters.

This operation can be accessed anonymously.

Permissions required:

PUT /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.
--propertyKeystringYesThe key of the issue property. The maximum length is 255 characters.

Example:

bash
jr issue set-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey>

set-worklog-property

Set worklog property

Sets the value of a worklog property. Use this operation to store custom data against the worklog.

The value of the request body must be a valid, non-empty JSON blob. The maximum length is 32768 characters.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Edit all worklogs project permission to update any worklog or Edit own worklogs to update worklogs created by the user.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

PUT /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.
--propertyKeystringYesThe key of the issue property. The maximum length is 255 characters.
--worklogIdstringYesThe ID of the worklog.

Example:

bash
jr issue set-worklog-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey> --worklogId <worklogId>

unarchive

Unarchive issue(s) by issue keys/ID

Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) unarchived in the process and the errors encountered, if any.

Note that:

  • you can't unarchive subtasks directly, only through their parent issues
  • you can only unarchive issues from software, service management, and business projects

Permissions required: Jira admin or site admin: global permission

License required: Premium or Enterprise

Signed-in users only: This API can't be accessed anonymously.

PUT /rest/api/3/issue/unarchive

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)

Example:

bash
jr issue unarchive

update-comment

Update comment

Updates a comment.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue containing the comment is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Edit all comments project permission to update any comment or Edit own comments to update comment created by the user.
  • If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.

WARNING: Child comments inherit visibility from their parent comment. Attempting to update a child comment's visibility will result in a 400 (Bad Request) error.

PUT /rest/api/3/issue/{issueIdOrKey}/comment/{id}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--expandstringNoUse expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML.
--idstringYesThe ID of the comment.
--issueIdOrKeystringYesThe ID or key of the issue.
--notifyUsersstringNoWhether users are notified when a comment is updated.
--overrideEditableFlagstringNoWhether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with the Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.

Example:

bash
jr issue update-comment --id <id> --issueIdOrKey <issueIdOrKey>

Update remote issue link by ID

Updates a remote issue link for an issue.

Note: Fields without values in the request are set to null.

This operation requires issue linking to be active.

This operation can be accessed anonymously.

Permissions required:

PUT /rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--issueIdOrKeystringYesThe ID or key of the issue.
--linkIdstringYesThe ID of the remote issue link.

Example:

bash
jr issue update-remote-issue-link --issueIdOrKey <issueIdOrKey> --linkId <linkId>

update-worklog

Update worklog

Updates a worklog.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see Configuring time tracking.

This operation can be accessed anonymously.

Permissions required:

  • Browse projects project permission for the project that the issue is in.
  • If issue-level security is configured, issue-level security permission to view the issue.
  • Edit all worklogs project permission to update any worklog or Edit own worklogs to update worklogs created by the user.
  • If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.

PUT /rest/api/3/issue/{issueIdOrKey}/worklog/{id}

FlagTypeRequiredDescription
--adjustEstimatestringNoDefines how to update the issue's time estimate, the options are:
  • new Sets the estimate to a specific value, defined in newEstimate.
  • leave Leaves the estimate unchanged.
  • auto Updates the estimate by the difference between the original and updated value of timeSpent or timeSpentSeconds. | | --body | string | No | request body (JSON string, @file, or - for stdin) | | --expand | string | No | Use expand to include additional information about worklogs in the response. This parameter accepts properties, which returns worklog properties. | | --id | string | Yes | The ID of the worklog. | | --issueIdOrKey | string | Yes | The ID or key the issue. | | --newEstimate | string | No | The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For example, 2d. Required when adjustEstimate is new. | | --notifyUsers | string | No | Whether users watching the issue are notified by email. | | --overrideEditableFlag | string | No | Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Connect and Forge app users with Administer Jira global permission can use this flag. |

Example:

bash
jr issue update-worklog --id <id> --issueIdOrKey <issueIdOrKey>