Internal
Create a new instance of the service.
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:
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.
Contains a list of issue keys or IDs to be archived.
Returned if there is at least one valid issue to archive in the request. The return message will include the count of archived issues and subtasks, as well as error details for issues which failed to get archived.
example:
{
"errors": {
"issueIsSubtask": {
"count": 3,
"issueIdsOrKeys": [
"ST-1",
"ST-2",
"ST-3"
],
"message": "Issue is subtask."
},
"issuesInArchivedProjects": {
"count": 2,
"issueIdsOrKeys": [
"AR-1",
"AR-2"
],
"message": "Issue exists in archived project."
},
"issuesInUnlicensedProjects": {
"count": 3,
"issueIdsOrKeys": [
"UL-1",
"UL-2",
"UL-3"
],
"message": "Issues with these IDs are in unlicensed projects."
},
"issuesNotFound": {
"count": 3,
"issueIdsOrKeys": [
"PR-1",
"PR-2",
"PR-3"
],
"message": "Issue not found."
}
},
"numberOfIssuesUpdated": 10
}
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:
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.
A JQL query specifying the issues to archive. Note that subtasks can only be archived through their parent issues.
Returns the URL to check the status of the submitted request.
example:
"https://your-domain.atlassian.net/rest/api/3/task/1010"
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:
Returned if the request is successful.
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:
A JSON object containing the information about which issues and fields to fetch.
Returned if the request is successful. A response may contain both successful issues and issue errors.
example:
{
"expand": "schema,names",
"issueErrors": [],
"issues": [
{
"expand": "",
"fields": {
"summary": "My first example issue",
"project": {
"avatarUrls": {
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000",
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000"
},
"id": "10000",
"insight": {
"lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
"totalIssueCount": 100
},
"key": "EX",
"name": "Example",
"projectCategory": {
"description": "First Project Category",
"id": "10000",
"name": "FIRST",
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
},
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"simplified": false,
"style": "classic"
},
"assignee": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
}
},
"id": "10002",
"key": "EX-1",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10002"
},
{
"expand": "",
"fields": {
"summary": "My second example issue",
"project": {
"avatarUrls": {
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001",
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001"
},
"id": "10001",
"insight": {
"lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
"totalIssueCount": 100
},
"key": "ABC",
"name": "Alphabetical",
"projectCategory": {
"description": "First Project Category",
"id": "10000",
"name": "FIRST",
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
},
"self": "https://your-domain.atlassian.net/rest/api/3/project/ABC",
"simplified": false,
"style": "classic"
},
"assignee": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
}
},
"id": "10005",
"key": "EX-2",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10003"
},
{
"expand": "",
"fields": {
"summary": "My fourth example issue",
"project": {
"avatarUrls": {
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002",
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002"
},
"deleted": true,
"deletedBy": {
"accountId": "5b10a2844c20165700ede21g",
"accountType": "atlassian",
"active": false,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"key": "",
"name": "",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"deletedDate": "2022-11-11T13:35:29.000+0000",
"id": "10002",
"insight": {
"lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
"totalIssueCount": 100
},
"key": "MKY",
"name": "Example",
"projectCategory": {
"description": "First Project Category",
"id": "10000",
"name": "FIRST",
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
},
"retentionTillDate": "2023-01-10T13:35:29.000+0000",
"self": "https://your-domain.atlassian.net/rest/api/3/project/MKY",
"simplified": false,
"style": "classic"
},
"assignee": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
}
},
"id": "10005",
"key": "EX-4",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10005"
}
]
}
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.
Optional
updateWhether 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.
Returned if the request is successful.
example:
{
"id": "10000",
"key": "ED-24",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10000",
"transition": {
"status": 200,
"errorCollection": {
"errorMessages": [],
"errors": {}
}
}
}
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.
Returned if any of the issue or subtask creation requests were successful. A request may be unsuccessful when it:
example:
{
"issues": [
{
"id": "10000",
"key": "ED-24",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10000",
"transition": {
"status": 200,
"errorCollection": {
"errorMessages": [],
"errors": {}
}
}
},
{
"id": "10001",
"key": "ED-25",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10001"
}
],
"errors": []
}
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:
Optional
deleteWhether the issue's subtasks are deleted when the issue is deleted.
The ID or key of the 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:
The ID or key of the issue.
Returned if the request is successful.
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:
Optional
expand?: stringThe Get issue API expand parameter to use in the response if the returnIssue
parameter is true
.
The ID or key of the issue.
Optional
notifyWhether 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.
Optional
overrideWhether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
Optional
overrideWhether screen security is overridden to enable hidden fields to be edited. Available to Connect app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
Optional
returnWhether 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.
status: 200, mediaType: application/json
Returned if the request is successful and the returnIssue
parameter is true
status: 204, mediaType: application/json
Returned if the request is successful.
Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it will receive an email with a link to download a CSV file with the issue details.
Note that this API only exports the values of system fields and
archival-specific fields (ArchivedBy
and ArchivedDate
). Custom fields
aren't supported.
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 can be active at any given time.
You can filter the issues in your request by the projects
, archivedBy
,
archivedDate
, issueTypes
, and reporters
fields. All filters are optional.
If you don't provide any filters, you'll get a list of up to one million
archived issues.
Returns the details of your export task. You can use the get task API to view the progress of your request.
example:
{
"payload": "{projects=[FOO, BAR], reporters=[uuid-rep-001, uuid-rep-002], issueTypes=[10001, 10002], archivedDate={dateAfterInstant=2023-01-01, dateBeforeInstant=2023-01-12}, archivedBy=[uuid-rep-001, uuid-rep-002]}",
"progress": 0,
"status": "ENQUEUED",
"submittedTime": 1623230887000,
"taskId": "10990"
}
Bulk fetch changelogs for multiple issues and filter by fields
Returns a paginated list of all changelogs for given issues sorted by changelog date and issue IDs, starting from the oldest changelog and smallest issue ID.
Issues are identified by their ID or key, and optionally changelogs can be filtered by their field IDs. You can request the changelogs of up to 1000 issues and can filter them by up to 10 field IDs.
Permissions required:
A JSON object containing the bulk fetch changelog request filters such as issue IDs and field IDs.
Returned if the request is successful.
example:
{
"issueChangeLogs": [
{
"changeHistories": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
},
"created": 1492070429,
"id": "10001",
"items": [
{
"field": "fields",
"fieldId": "fieldId",
"fieldtype": "jira",
"fromString": "old summary",
"toString": "new summary"
}
]
},
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
},
"created": 1492071429,
"id": "10002",
"items": [
{
"field": "fields",
"fieldId": "fieldId",
"fieldtype": "jira",
"fromString": "old summary 2",
"toString": "new summary 2"
}
]
}
],
"issueId": "10100"
}
],
"nextPageToken": "UxAQBFRF"
}
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:
The ID or key of the issue.
Optional
maxThe maximum number of items to return per page.
Optional
startThe index of the first item to return in a page of results (page offset).
Returned if the request is successful.
example:
{
"isLast": false,
"maxResults": 2,
"nextPage": "https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?&startAt=4&maxResults=2",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?startAt=2&maxResults=2",
"startAt": 2,
"total": 5,
"values": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
},
"created": "1970-01-18T06:27:50.429+0000",
"id": "10001",
"items": [
{
"field": "fields",
"fieldtype": "jira",
"fieldId": "fieldId",
"from": null,
"fromString": "",
"to": null,
"toString": "label-1"
}
]
},
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
},
"created": "1970-01-18T06:27:51.429+0000",
"id": "10002",
"items": [
{
"field": "fields",
"fieldtype": "jira",
"fieldId": "fieldId",
"from": null,
"fromString": "label-1",
"to": null,
"toString": "label-1 label-2"
}
]
}
]
}
Returns changelogs for an issue specified by a list of changelog IDs.
This operation can be accessed anonymously.
Permissions required:
The ID or key of the issue.
Returned if the request is successful.
example:
{
"histories": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
},
"created": "1970-01-18T06:27:50.429+0000",
"id": "10001",
"items": [
{
"field": "fields",
"fieldtype": "jira",
"fieldId": "fieldId",
"from": null,
"fromString": "",
"to": null,
"toString": "label-1"
}
]
},
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": true,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"emailAddress": "mia@example.com",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"timeZone": "Australia/Sydney"
},
"created": "1970-01-18T06:27:51.429+0000",
"id": "10002",
"items": [
{
"field": "fields",
"fieldtype": "jira",
"fieldId": "fieldId",
"from": null,
"fromString": "label-1",
"to": null,
"toString": "label-1 label-2"
}
]
}
],
"maxResults": 2,
"startAt": 0,
"total": 2
}
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.
Optional
expand?: stringUse 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.
Optional
issuetypeList 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
.
Optional
issuetypeList 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
.
Optional
projectList 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
.
Optional
projectList 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
.
Returned if the request is successful.
example:
{
"projects": [
{
"avatarUrls": {
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011",
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011"
},
"id": "10000",
"issuetypes": [
{
"description": "An error in the code",
"fields": {
"issuetype": {
"allowedValues": [
"set"
],
"autoCompleteUrl": "issuetype",
"hasDefaultValue": false,
"key": "issuetype",
"name": "Issue Type",
"required": true
}
},
"iconUrl": "https://your-domain.atlassian.net/images/icons/issuetypes/bug.png",
"id": "1",
"name": "Bug",
"self": "https://your-domain.atlassian.net/rest/api/3/issueType/1",
"subtask": false
}
],
"key": "ED",
"name": "Edison Project",
"self": "https://your-domain.atlassian.net/rest/api/3/project/ED"
}
]
}
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.
The issuetype ID.
Optional
maxThe maximum number of items to return per page.
The ID or key of the project.
Optional
startThe index of the first item to return in a page of results (page offset).
Returned if the request is successful.
example:
{
"fields": [
{
"fieldId": "assignee",
"hasDefaultValue": false,
"key": "assignee",
"name": "Assignee",
"operations": [
"set"
],
"required": true
}
],
"maxResults": 1,
"startAt": 0,
"total": 1
}
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.
Optional
maxThe maximum number of items to return per page.
The ID or key of the project.
Optional
startThe index of the first item to return in a page of results (page offset).
Returned if the request is successful.
example:
{
"issueTypes": [
{
"description": "An error in the code",
"iconUrl": "https://your-domain.atlassian.net/images/icons/issuetypes/bug.png",
"id": "1",
"name": "Bug",
"self": "https://your-domain.atlassian.net/rest/api/3/issueType/1",
"subtask": false
}
],
"maxResults": 1,
"startAt": 0,
"total": 1
}
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:
overrideScreenSecurity=true
skips this condition.overrideScreenSecurity=true
skips this condition.overrideEditableFlag=true
skips this condition.jira.issue.editable
property to false
. overrideEditableFlag=true
skips this condition.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 (conditionsThis 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.
The ID or key of the issue.
Optional
overrideWhether non-editable fields are returned. Available to Connect app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
Optional
overrideWhether hidden fields are returned. Available to Connect app users with Administer Jira global permission and Forge apps acting on behalf of users with Administer Jira global permission.
Returned if the request is successful.
example:
{
"fields": {
"summary": {
"allowedValues": [
"red",
"blue"
],
"defaultValue": "red",
"hasDefaultValue": false,
"key": "field_key",
"name": "My Multi Select",
"operations": [
"set",
"add"
],
"required": false,
"schema": {
"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect",
"customId": 10001,
"items": "option",
"type": "array"
}
}
}
}
Returns all issue events.
Permissions required: Administer Jira global permission.
Returned if the request is successful.
example:
[
{
"id": 1,
"name": "Issue Created"
},
{
"id": 2,
"name": "Issue Updated"
}
]
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:
Optional
expand?: stringUse 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.Optional
failWhether 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).
Optional
fields?: string[]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.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.
Optional
fieldsWhether 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.
The ID or key of the issue.
Optional
properties?: string[]A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:
*all
Returns all issue properties.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
.
Optional
updateWhether 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.
Returned if the request is successful.
example:
{
"fields": {
"watcher": {
"isWatching": false,
"self": "https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers",
"watchCount": 1
},
"attachment": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"accountType": "atlassian",
"active": false,
"avatarUrls": {
"16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16",
"24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24",
"32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32",
"48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"
},
"displayName": "Mia Krystof",
"key": "",
"name": "",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"content": "https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000",
"created": "2022-10-06T07:32:47.000+0000",
"filename": "picture.jpg",
"id": 10000,
"mimeType": "image/jpeg",
"self": "https://your-domain.atlassian.net/rest/api/3/attachments/10000",
"size": 23123,
"thumbnail": "https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000"
}
],
"sub-tasks": [
{
"id": "10000",
"outwardIssue": {
"fields": {
"status": {
"iconUrl": "https://your-domain.atlassian.net/images/icons/statuses/open.png",
"name": "Open"
}
},
"id": "10003",
"key": "ED-2",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/ED-2"
},
"type": {
"id": "10000",
"inward": "Parent",
"name": "",
"outward": "Sub-task"
}
}
],
"description": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Main order flow broken"
}
]
}
]
},
"project": {
"avatarUrls": {
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000",
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000"
},
"id": "10000",
"insight": {
"lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
"totalIssueCount": 100
},
"key": "EX",
"name": "Example",
"projectCategory": {
"description": "First Project Category",
"id": "10000",
"name": "FIRST",
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
},
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"simplified": false,
"style": "classic"
},
"comment": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}
]
}
]
},
"created": "2021-01-17T12:34:00.000+0000",
"id": "10000",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000",
"updateAuthor": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"identifier": "Administrators",
"type": "role",
"value": "Administrators"
}
}
],
"issuelinks": [
{
"id": "10001",
"outwardIssue": {
"fields": {
"status": {
"iconUrl": "https://your-domain.atlassian.net/images/icons/statuses/open.png",
"name": "Open"
}
},
"id": "10004L",
"key": "PR-2",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/PR-2"
},
"type": {
"id": "10000",
"inward": "depends on",
"name": "Dependent",
"outward": "is depended by"
}
},
{
"id": "10002",
"inwardIssue": {
"fields": {
"status": {
"iconUrl": "https://your-domain.atlassian.net/images/icons/statuses/open.png",
"name": "Open"
}
},
"id": "10004",
"key": "PR-3",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/PR-3"
},
"type": {
"id": "10000",
"inward": "depends on",
"name": "Dependent",
"outward": "is depended by"
}
}
],
"worklog": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "I did some work here."
}
]
}
]
},
"id": "100028",
"issueId": "10002",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000",
"started": "2021-01-17T12:34:00.000+0000",
"timeSpent": "3h 20m",
"timeSpentSeconds": 12000,
"updateAuthor": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"identifier": "276f955c-63d7-42c8-9520-92d01dca0625",
"type": "group",
"value": "jira-developers"
}
}
],
"updated": 1,
"timetracking": {
"originalEstimate": "10m",
"originalEstimateSeconds": 600,
"remainingEstimate": "3m",
"remainingEstimateSeconds": 200,
"timeSpent": "6m",
"timeSpentSeconds": 400
}
},
"id": "10002",
"key": "ED-1",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10002"
}
Returns all issues breaching and approaching per-issue limits.
Permissions required:
Optional
isReturn issue keys instead of issue ids in the response.
Usage: Add ?isReturningKeys=true
to the end of the path to request issue keys.
Returned if the request is successful.
example:
{
"issuesApproachingLimit": {
"attachment": {
"15070L": 1822,
"15111L": 1999
},
"comment": {
"10000L": 4997,
"15073L": 4999,
"15110L": 5000
},
"remoteIssueLinks": {
"15107L": 2000
},
"worklog": {
"15101L": 10342
}
},
"issuesBreachingLimit": {
"attachment": {
"15057L": 2005,
"15116L": 2065,
"15117L": 3005
},
"comment": {
"15055L": 5202
},
"issuelinks": {
"15058L": 2120
},
"remoteIssueLinks": {
"15059L": 2094
},
"worklog": {
"15056L": 10085,
"15169L": 120864
}
},
"limits": {
"attachment": 2000,
"comment": 5000,
"issuelinks": 2000,
"remoteIssueLinks": 2000,
"worklog": 10000
}
}
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.
Optional
expand?: stringUse 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.
Optional
includeWhether details of transitions that fail a condition are included in the response
The ID or key of the issue.
Optional
skipWhether transitions with the condition Hide From User Condition are included in the response.
Optional
sortWhether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value.
Optional
transitionThe ID of the transition.
Returned if the request is successful.
example:
{
"transitions": [
{
"fields": {
"summary": {
"allowedValues": [
"red",
"blue"
],
"defaultValue": "red",
"hasDefaultValue": false,
"key": "field_key",
"name": "My Multi Select",
"operations": [
"set",
"add"
],
"required": false,
"schema": {
"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect",
"customId": 10001,
"items": "option",
"type": "array"
}
}
},
"hasScreen": false,
"id": "2",
"isAvailable": true,
"isConditional": false,
"isGlobal": false,
"isInitial": false,
"name": "Close Issue",
"to": {
"description": "The issue is currently being worked on.",
"iconUrl": "https://your-domain.atlassian.net/images/icons/progress.gif",
"id": "10000",
"name": "In Progress",
"self": "https://your-domain.atlassian.net/rest/api/3/status/10000",
"statusCategory": {
"colorName": "yellow",
"id": 1,
"key": "in-flight",
"name": "In Progress",
"self": "https://your-domain.atlassian.net/rest/api/3/statuscategory/1"
}
}
},
{
"fields": {
"summary": {
"allowedValues": [
"red",
"blue"
],
"defaultValue": "red",
"hasDefaultValue": false,
"key": "field_key",
"name": "My Multi Select",
"operations": [
"set",
"add"
],
"required": false,
"schema": {
"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect",
"customId": 10001,
"items": "option",
"type": "array"
}
},
"colour": {
"allowedValues": [
"red",
"blue"
],
"defaultValue": "red",
"hasDefaultValue": false,
"key": "field_key",
"name": "My Multi Select",
"operations": [
"set",
"add"
],
"required": false,
"schema": {
"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect",
"customId": 10001,
"items": "option",
"type": "array"
}
}
},
"hasScreen": true,
"id": "711",
"name": "QA Review",
"to": {
"description": "The issue is closed.",
"iconUrl": "https://your-domain.atlassian.net/images/icons/closed.gif",
"id": "5",
"name": "Closed",
"self": "https://your-domain.atlassian.net/rest/api/3/status/5",
"statusCategory": {
"colorName": "green",
"id": 9,
"key": "completed",
"self": "https://your-domain.atlassian.net/rest/api/3/statuscategory/9"
}
}
}
]
}
Creates an email notification for an issue and adds it to the mail queue.
Permissions required:
ID or key of the issue that the notification is sent for.
The request object for the notification and recipients.
Returned if the email is queued for sending.
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:
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.
Contains a list of issue keys or IDs to be unarchived.
Returned if there is at least one valid issue to unarchive in the request. It will return the count of unarchived issues, which also includes the count of the subtasks unarchived, and it will show the detailed errors for those issues which are not unarchived.
example:
{
"errors": {
"issueIsSubtask": {
"count": 3,
"issueIdsOrKeys": [
"ST-1",
"ST-2",
"ST-3"
],
"message": "Issue is subtask."
},
"issuesInArchivedProjects": {
"count": 2,
"issueIdsOrKeys": [
"AR-1",
"AR-2"
],
"message": "Issue exists in archived project."
},
"issuesNotFound": {
"count": 3,
"issueIdsOrKeys": [
"PR-1",
"PR-2",
"PR-3"
],
"message": "Issue not found."
}
},
"numberOfIssuesUpdated": 10
}
Protected
Static
initialize
This resource represents Jira issues. Use it to:
See
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues