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-checkheader, 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:
- Browse Projects and Create attachments project permission for the project that the issue is in.
- If issue-level security is configured, issue-level security permission to view the issue.
POST /rest/api/3/issue/{issueIdOrKey}/attachments
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue that attachments are added to. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--expand | string | No | Use expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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:
- 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.
POST /rest/api/3/issue/{issueIdOrKey}/votes
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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:
- Browse projects and Work on 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.
POST /rest/api/3/issue/{issueIdOrKey}/worklog
| Flag | Type | Required | Description |
|---|---|---|---|
--adjustEstimate | string | No | Defines how to update the issue's time estimate, the options are: |
newSets the estimate to a specific value, defined innewEstimate.leaveLeaves the estimate unchanged.manualReduces the estimate by amount specified inreduceBy.autoReduces the estimate by the value oftimeSpentin 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 acceptsproperties, 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 whenadjustEstimateisnew. | |--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 whenadjustEstimateismanual. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue archivearchive-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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue archive-asyncassign
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:
- Browse Projects and Assign 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.
PUT /rest/api/3/issue/{issueIdOrKey}/assignee
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue to be assigned. |
Example:
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:
entityIdsOnly issues from this list are eligible.currentValueOnly 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
locationlink in the response to determine the status of the task and use Get task to obtain subsequent updates.
Permissions required:
- Browse projects project permission for each project containing issues.
- If issue-level security is configured, issue-level security permission to view the issue.
- Edit issues project permission for each issue.
DELETE /rest/api/3/issue/properties/{propertyKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--propertyKey | string | Yes | The key of the property. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--adjustEstimate | string | No | Defines how to update the issue's time estimate, the options are: |
leaveLeaves the estimate unchanged.autoReduces the estimate by the aggregate value oftimeSpentacross 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:
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:
- 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.
POST /rest/api/3/issue/bulkfetch
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue bulk-fetchbulk-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
| Flag | Type | Required | Description |
|---|---|---|---|
--adjustEstimate | string | No | Defines how to update the issues' time estimate, the options are: |
leaveLeaves the estimate unchanged.autoReduces the estimate by the aggregate value oftimeSpentacross 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:
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
locationlink 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:
- Browse projects and Edit issues project permissions for the project containing the issue.
- If issue-level security is configured, issue-level security permission to view the issue.
POST /rest/api/3/issue/properties/multi
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue bulk-set-issue-properties-bybulk-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:
entityIdsOnly issues from this list are eligible.currentValueOnly 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
locationlink in the response to determine the status of the task and use Get task to obtain subsequent updates.
Permissions required:
- Browse projects project permission for each project containing issues.
- If issue-level security is configured, issue-level security permission to view the issue.
- Edit issues project permission for each issue.
PUT /rest/api/3/issue/properties/{propertyKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--propertyKey | string | Yes | The key of the property. The maximum length is 255 characters. |
Example:
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
locationlink in the response to determine the status of the task and use Get task to obtain subsequent updates.
Permissions required:
- Browse projects and Edit issues project permissions for the project containing the issue.
- If issue-level security is configured, issue-level security permission to view the issue.
POST /rest/api/3/issue/properties
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue bulk-set-issues-properties-listcreate-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:
issueTypemust be set to a subtask issue type (use Get create issue metadata to find subtask issue types).parentmust 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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--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. 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:
jr issue create-issuecreate-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:
issueTypemust be set to a subtask issue type (use Get create issue metadata to find subtask issue types).parentthe 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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue create-issuescreate-or-update-remote-issue-link
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:
- Browse projects 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.
POST /rest/api/3/issue/{issueIdOrKey}/remotelink
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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:
- Browse projects and Delete issues project permission for the project containing the issue.
- If issue-level security is configured, issue-level security permission to view the issue.
DELETE /rest/api/3/issue/{issueIdOrKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--deleteSubtasks | string | No | Whether the issue's subtasks are deleted when the issue is deleted. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | Yes | The ID of the comment. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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:
- Browse projects and Edit issues project permissions for the project containing the issue.
- If issue-level security is configured, issue-level security permission to view the issue.
DELETE /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The key or ID of the issue. |
--propertyKey | string | Yes | The key of the property. |
Example:
jr issue delete-property --issueIdOrKey <issueIdOrKey> --propertyKey <propertyKey>delete-remote-issue-link-by-global-id
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:
- Browse projects and Link issues project permission for the project that the issue is in.
- If issue-level security is implemented, issue-level security permission to view the issue.
DELETE /rest/api/3/issue/{issueIdOrKey}/remotelink
| Flag | Type | Required | Description |
|---|---|---|---|
--globalId | string | No | The global ID of a remote issue link. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
jr issue delete-remote-issue-link-by-global-id --issueIdOrKey <issueIdOrKey>delete-remote-issue-link-by-id
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--linkId | string | Yes | The ID of a remote issue link. |
Example:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--adjustEstimate | string | No | Defines how to update the issue's time estimate, the options are: |
newSets the estimate to a specific value, defined innewEstimate.leaveLeaves the estimate unchanged.manualIncreases the estimate by amount specified inincreaseBy.autoReduces the estimate by the value oftimeSpentin 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 whenadjustEstimateismanual. | |--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 whenadjustEstimateisnew. | |--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:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--propertyKey | string | Yes | The key of the property. |
--worklogId | string | Yes | The ID of the worklog. |
Example:
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:
- Browse projects and Transition 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.
POST /rest/api/3/issue/{issueIdOrKey}/transitions
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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:
- Browse projects and Edit 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.
PUT /rest/api/3/issue/{issueIdOrKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--expand | string | No | The Get issue API expand parameter to use in the response if the returnIssue parameter is true. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--notifyUsers | string | No | Whether 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. |
--overrideEditableFlag | string | No | Whether 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. |
--overrideScreenSecurity | string | No | Whether 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. |
--returnIssue | string | No | Whether 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:
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:
- 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.
GET /rest/api/3/issue/{issueIdOrKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use expand to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include: |
renderedFieldsReturns field values rendered in HTML format.namesReturns the display name of each field.schemaReturns the schema describing a field type.transitionsReturns all possible transitions for the issue.editmetaReturns information about how each field can be edited.changelogReturns a list of recent updates to an issue, sorted by date, starting from the most recent.versionedRepresentationsReturns 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, thefieldsparameter is ignored. | |--failFast| string | No | Whether to fail the request quickly in case of an error while loading fields for an issue. ForfailFast=true, if one field fails, the entire operation fails. ForfailFast=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:*allReturns all fields.*navigableReturns navigable fields.Any issue field, prefixed with a minus to exclude.
Examples:
summary,commentReturns only the summary and comments fields.-descriptionReturns all (default) fields except description.*navigable,-commentReturns 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:
*allReturns all issue properties.- Any issue property key, prefixed with a minus to exclude.
Examples:
*allReturns all properties.*all,-prop1Returns all properties exceptprop1.prop1,prop2Returnsprop1andprop2properties.
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:
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:
- 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.
GET /rest/api/3/issue/{issueIdOrKey}/changelog
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--maxResults | string | No | The maximum number of items to return per page. |
--startAt | string | No | The index of the first item to return in a page of results (page offset). |
Example:
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:
- 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.
POST /rest/api/3/issue/{issueIdOrKey}/changelog/list
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML. |
--id | string | Yes | The ID of the comment. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--maxResults | string | No | The maximum number of items to return per page. |
--orderBy | string | No | Order the results by a field. Accepts created to sort comments by their created date. |
--startAt | string | No | The index of the first item to return in a page of results (page offset). |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use 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. |
--issuetypeIds | string | No | List 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. |
--issuetypeNames | string | No | List 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. |
--projectIds | string | No | List 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. |
--projectKeys | string | No | List 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:
jr issue get-create-issue-metaget-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}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueTypeId | string | Yes | The issuetype ID. |
--maxResults | string | No | The maximum number of items to return per page. |
--projectIdOrKey | string | Yes | The ID or key of the project. |
--startAt | string | No | The index of the first item to return in a page of results (page offset). |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--maxResults | string | No | The maximum number of items to return per page. |
--projectIdOrKey | string | Yes | The ID or key of the project. |
--startAt | string | No | The index of the first item to return in a page of results (page offset). |
Example:
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:
- Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type scheme configuration.
overrideScreenSecurity=trueskips this condition. - Field is visible in the field configuration.
overrideScreenSecurity=trueskips this condition. - 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.
- 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.
- Issue has a project, issue type, and status defined.
- Issue is assigned to a valid workflow, and the current status has assigned a workflow step.
overrideEditableFlag=trueskips this condition. - The current workflow step is editable. This is true by default, but can be disabled by setting the
jira.issue.editableproperty tofalse.overrideEditableFlag=trueskips this condition. - User has Edit issues permission.
- 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:
overrideScreenSecurityWhen this flag istrue, then this endpoint skips checking if fields are available through screens, and field configuration (conditions 1. and 2. from the list above).overrideEditableFlagWhen this flag istrue, 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:
- 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.
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
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--overrideEditableFlag | string | No | Whether 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. |
--overrideScreenSecurity | string | No | Whether 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:
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:
- 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.
POST /rest/api/3/issue/watching
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue get-is-watching-issue-bulkget-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
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use expand to include additional information about worklogs in the response. This parameter acceptsproperties, which returns worklog properties. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--maxResults | string | No | The maximum number of items to return per page. |
--startAt | string | No | The index of the first item to return in a page of results (page offset). |
--startedAfter | string | No | The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned. |
--startedBefore | string | No | The worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned. |
Example:
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:
- Browse projects project permission is required for the project the issues are in. Results may be incomplete otherwise
- Administer Jira global permission.
GET /rest/api/3/issue/limit/report
| Flag | Type | Required | Description |
|---|---|---|---|
--isReturningKeys | string | No | Return issue keys instead of issue ids in the response. |
Usage: Add ?isReturningKeys=true to the end of the path to request issue keys. |
Example:
jr issue get-limit-reportget-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 Searchwhich includes issues from the user's history of created, edited, or viewed issues that contain the string in thequeryparameter.Current Searchwhich includes issues that match the JQL expression incurrentJQLand contain the string in thequeryparameter.
This operation can be accessed anonymously.
Permissions required: None.
GET /rest/api/3/issue/picker
| Flag | Type | Required | Description |
|---|---|---|---|
--currentIssueKey | string | No | The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query. |
--currentJQL | string | No | A 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. |
--currentProjectId | string | No | The ID of a project that suggested issues must belong to. |
--query | string | No | A string to match against text fields in the issue such as title, description, or comments. |
--showSubTaskParent | string | No | When currentIssueKey is a subtask, whether to include the parent issue in the suggestions if it matches the query. |
--showSubTasks | string | No | Indicate whether to include subtasks in the suggestions list. |
Example:
jr issue get-picker-resourceget-property
Get issue property
Returns the key and value of an issue's property.
This operation can be accessed anonymously.
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.
GET /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The key or ID of the issue. |
--propertyKey | string | Yes | The key of the property. |
Example:
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:
- Browse projects project permission for the project containing the issue.
- If issue-level security is configured, issue-level security permission to view the issue.
GET /rest/api/3/issue/{issueIdOrKey}/properties
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The key or ID of the issue. |
Example:
jr issue get-property-keys --issueIdOrKey <issueIdOrKey>get-remote-issue-link-by-id
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:
- 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.
GET /rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--linkId | string | Yes | The ID of the remote issue link. |
Example:
jr issue get-remote-issue-link-by-id --issueIdOrKey <issueIdOrKey> --linkId <linkId>get-remote-issue-links
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:
- 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.
GET /rest/api/3/issue/{issueIdOrKey}/remotelink
| Flag | Type | Required | Description |
|---|---|---|---|
--globalId | string | No | The global ID of the remote issue link. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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:
- 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.
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
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use 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. |
--includeUnavailableTransitions | string | No | Whether details of transitions that fail a condition are included in the response |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--skipRemoteOnlyCondition | string | No | Whether 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. |
--sortByOpsBarAndStatus | string | No | Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value. |
--transitionId | string | No | The ID of the transition. |
Example:
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:
- 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.
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
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--expand | string | No | Use 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:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--propertyKey | string | Yes | The key of the property. |
--worklogId | string | Yes | The ID of the worklog. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--worklogId | string | Yes | The ID of the worklog. |
Example:
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:
- 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.
POST /rest/api/3/issue/{issueIdOrKey}/notify
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | ID or key of the issue that the notification is sent for. |
Example:
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:
- 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 /rest/api/3/issue/{issueIdOrKey}/votes
| Flag | Type | Required | Description |
|---|---|---|---|
--issueIdOrKey | string | Yes | The ID or key of the issue. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--accountId | string | No | The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, 5b10ac8d82e05b22cc7d4ef5. Required. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--username | string | No | This parameter is no longer available. See the deprecation notice for details. |
Example:
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:
- Browse projects and Edit issues project permissions for the project containing the issue.
- If issue-level security is configured, issue-level security permission to view the issue.
PUT /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--propertyKey | string | Yes | The key of the issue property. The maximum length is 255 characters. |
Example:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--propertyKey | string | Yes | The key of the issue property. The maximum length is 255 characters. |
--worklogId | string | Yes | The ID of the worklog. |
Example:
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
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
jr issue unarchiveupdate-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}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--expand | string | No | Use expand to include additional information about comments in the response. This parameter accepts renderedBody, which returns the comment body rendered in HTML. |
--id | string | Yes | The ID of the comment. |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--notifyUsers | string | No | Whether users are notified when a comment is updated. |
--overrideEditableFlag | string | No | Whether 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:
jr issue update-comment --id <id> --issueIdOrKey <issueIdOrKey>update-remote-issue-link
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:
- Browse projects 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.
PUT /rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--issueIdOrKey | string | Yes | The ID or key of the issue. |
--linkId | string | Yes | The ID of the remote issue link. |
Example:
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}
| Flag | Type | Required | Description |
|---|---|---|---|
--adjustEstimate | string | No | Defines how to update the issue's time estimate, the options are: |
newSets the estimate to a specific value, defined innewEstimate.leaveLeaves the estimate unchanged.autoUpdates the estimate by the difference between the original and updated value oftimeSpentortimeSpentSeconds. | |--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 acceptsproperties, 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 whenadjustEstimateisnew. | |--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:
jr issue update-worklog --id <id> --issueIdOrKey <issueIdOrKey>