Server
Jira Service Management / Reference / REST API
Operations
POST/api/2/issuePOST/api/2/issue/archivePOST/api/2/issue/bulkGET/api/2/issue/createmeta/{projectIdOrKey}/issuetypesGET/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}GET/api/2/issue/pickerGET/api/2/issue/{issueIdOrKey}PUT/api/2/issue/{issueIdOrKey}DEL/api/2/issue/{issueIdOrKey}PUT/api/2/issue/{issueIdOrKey}/archivePUT/api/2/issue/{issueIdOrKey}/assigneePOST/api/2/issue/{issueIdOrKey}/attachmentsGET/api/2/issue/{issueIdOrKey}/commentPOST/api/2/issue/{issueIdOrKey}/commentGET/api/2/issue/{issueIdOrKey}/comment/{id}PUT/api/2/issue/{issueIdOrKey}/comment/{id}DEL/api/2/issue/{issueIdOrKey}/comment/{id}PUT/api/2/issue/{issueIdOrKey}/comment/{id}/pinGET/api/2/issue/{issueIdOrKey}/editmetaPOST/api/2/issue/{issueIdOrKey}/notifyGET/api/2/issue/{issueIdOrKey}/pinned-commentsGET/api/2/issue/{issueIdOrKey}/propertiesGET/api/2/issue/{issueIdOrKey}/properties/{propertyKey}PUT/api/2/issue/{issueIdOrKey}/properties/{propertyKey}DEL/api/2/issue/{issueIdOrKey}/properties/{propertyKey}GET/api/2/issue/{issueIdOrKey}/remotelinkPOST/api/2/issue/{issueIdOrKey}/remotelinkDEL/api/2/issue/{issueIdOrKey}/remotelinkGET/api/2/issue/{issueIdOrKey}/remotelink/{linkId}PUT/api/2/issue/{issueIdOrKey}/remotelink/{linkId}DEL/api/2/issue/{issueIdOrKey}/remotelink/{linkId}PUT/api/2/issue/{issueIdOrKey}/restoreGET/api/2/issue/{issueIdOrKey}/subtaskGET/api/2/issue/{issueIdOrKey}/subtask/movePOST/api/2/issue/{issueIdOrKey}/subtask/moveGET/api/2/issue/{issueIdOrKey}/transitionsPOST/api/2/issue/{issueIdOrKey}/transitionsGET/api/2/issue/{issueIdOrKey}/votesPOST/api/2/issue/{issueIdOrKey}/votesDEL/api/2/issue/{issueIdOrKey}/votesGET/api/2/issue/{issueIdOrKey}/watchersPOST/api/2/issue/{issueIdOrKey}/watchersDEL/api/2/issue/{issueIdOrKey}/watchersGET/api/2/issue/{issueIdOrKey}/worklogPOST/api/2/issue/{issueIdOrKey}/worklogGET/api/2/issue/{issueIdOrKey}/worklog/{id}PUT/api/2/issue/{issueIdOrKey}/worklog/{id}DEL/api/2/issue/{issueIdOrKey}/worklog/{id}
POST

Create an issue or sub-task from json

Creates an issue or a sub-task from a JSON representation. The fields that can be set on create, in either the fields parameter or the update parameter can be determined using the /rest/api/2/issue/createmeta resource. If a field is not configured to appear on the create screen, then it will not be in the createmeta, and a field validation error will occur if it is submitted. Creating a sub-task is similar to creating a regular issue, with two important differences:

  • the issueType field must correspond to a sub-task issue type (you can use /issue/createmeta to discover sub-task issue types), and
  • you must provide a parent field in the issue create request containing the id or key of the parent issue. The updateHistory param adds the project that this issue is created in, to the current user's project history, if set to true (by default, the project history is not updated). You can view the project history in the Jira application, via the Projects dropdown.

Request

Query parameters

updateHistory

boolean

Request bodyapplication/json

Issue update bean

fields

object

historyMetadata

HistoryMetadata

properties

array<EntityPropertyBean>

transition

TransitionBean

update

object

Responses

Returns a link to the created issue.

application/json

IssueCreateResponse
POST/api/2/issue
1 2 3 4 5 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
POST

Archive list of issues

Archives a list of issues.

Request

Query parameters

notifyUsers

string

Request bodytext/plain

List of issue keys

string

Responses

Returns a stream of issues archiving results.

text/plain

object

POST/api/2/issue/archive
1 2 3 4 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/archive' \ --user 'email@example.com:<api_token>' \ --header 'Accept: text/plain'
POST

Create an issue or sub-task from json - bulk operation.

Creates issues or sub-tasks from a JSON representation. Creates many issues in one bulk operation. Creating a sub-task is similar to creating a regular issue. More details can be found in createIssue section.

Request

Request bodyapplication/json

Issues update bean

issueUpdates

array<IssueUpdateBean>

Responses

Returns a link to the created issues.

application/json

IssuesCreateResponse
POST/api/2/issue/bulk
1 2 3 4 5 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/bulk' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
GET

Get metadata for project issue types

Returns the metadata for issue types used for creating issues. Data will not be returned if the user does not have permission to create issues in that project.

Request

Path parameters

projectIdOrKey

string

Required

Query parameters

maxResults

string

startAt

string

Responses

Returns the metadata for issue types used for creating issues.

application/json

CreateMetaIssueTypeBean
GET/api/2/issue/createmeta/{projectIdOrKey}/issuetypes
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Get metadata for issue types used for creating issues

Returns the metadata for issue types used for creating issues. Data will not be returned if the user does not have permission to create issues in that project.

Request

Path parameters

issueTypeId

string

Required
projectIdOrKey

string

Required

Query parameters

maxResults

string

startAt

string

Responses

Returns the metadata for issue types used for creating issues.

application/json

FieldMetaBean
GET/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Get suggested issues for auto-completion

Get issue picker resource

Request

Query parameters

currentProjectId

string

query

string

currentIssueKey

string

showSubTasks

string

currentJQL

string

showSubTaskParent

string

Responses

Returns a response containing issue picker resource.

application/json

IssuePickerResult
GET/api/2/issue/picker
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/picker' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Get issue for key

Returns a full representation of the issue for the given issue key. An issue JSON consists of the issue key, a collection of fields, a link to the workflow transition sub-resource, and (optionally) the HTML rendered values of any fields that support it (e.g. if wiki syntax is enabled for the description or comments). The fields param (which can be specified multiple times) gives a comma-separated list of fields to include in the response. This can be used to retrieve a subset of fields. A particular field can be excluded by prefixing it with a minus. By default, all (*all) fields are returned in this get-issue resource. Note: the default is different when doing a jql search -- the default there is just navigable fields (*navigable).

  • *all - include all fields
  • *navigable - include just navigable fields
  • summary,comment - include just the summary and comments
  • -comment - include everything except comments (the default is *all for get-issue)
  • *all,-comment - include everything except comments

The {@code properties} param is similar to {@code fields} and specifies a comma-separated list of issue properties to include. Unlike {@code fields}, properties are not included by default. To include them all send {@code ?properties=*all}. You can also include only specified properties or exclude some properties with a minus (-) sign.

  • {@code *all} - include all properties
  • {@code *all, -prop1} - include all properties except {@code prop1}
  • {@code prop1, prop1} - include {@code prop1} and {@code prop2} properties

Jira will attempt to identify the issue by the issueIdOrKey path parameter. This can be an issue id, or an issue key. If the issue cannot be found via an exact match, Jira will also look for the issue in a case-insensitive way, by looking to see if the issue was moved. In either of these cases, the request will proceed as normal (a 302 or other redirect will not be returned). The issue key contained in the response will indicate the current value of issue's key.

The expand param is used to include, hidden by default, parts of response. This can be used to include:

  • renderedFields - field values in HTML format
  • names - display name of each field
  • schema - schema for each field which describes a type of the field
  • transitions - all possible transitions for the given issue
  • operations - all possibles operations which may be applied on issue
  • editmeta - information about how each field may be edited. It contains field's schema as well.
  • changelog - history of all changes of the given issue
  • versionedRepresentations - REST representations of all fields. Some field may contain more recent versions. RESET representations are numbered. The greatest number always represents the most recent version. It is recommended that the most recent version is used. version for these fields which provide a more recent REST representation. After including versionedRepresentations "fields" field become hidden.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

expand

string

fields

string

updateHistory

string

properties

string

Responses

Returns a full representation of a Jira issue in JSON format.

application/json

IssueBean
GET/api/2/issue/{issueIdOrKey}
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
PUT

Edit an issue from a JSON representation

Edits an issue from a JSON representation. The issue can either be updated by setting explicit the field value(s) or by using an operation to change the field value.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

notifyUsers

string

Request bodyapplication/json

Issue update bean

fields

object

historyMetadata

HistoryMetadata

properties

array<EntityPropertyBean>

transition

TransitionBean

update

object

Responses

Returned if it updated the issue successfully.

PUT/api/2/issue/{issueIdOrKey}
1 2 3 4 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
DEL

Delete an issue

Deletes an issue. If the issue has subtasks you must set the parameter deleteSubtasks=true to delete the issue. You cannot delete an issue without its subtasks also being deleted.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

deleteSubtasks

string

Responses

Returned if the issue was removed successfully.

DEL/api/2/issue/{issueIdOrKey}
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}' \ --user 'email@example.com:<api_token>'
PUT

Archive an issue

Archives an issue.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

notifyUsers

string

Responses

Returns a response indicating the result of the archive operation.

PUT/api/2/issue/{issueIdOrKey}/archive
1 2 3 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/archive' \ --user 'email@example.com:<api_token>'
PUT

Assign an issue to a user

Assign an issue to a user.

Request

Path parameters

issueIdOrKey

string

Required

Request bodyapplication/json

UserBean containing the username

active

boolean

applicationRoles

SimpleListWrapperApplicationRoleBean

avatarUrls

object

deleted

boolean

displayName

string

emailAddress

string

expand

string

groups

SimpleListWrapperGroupJsonBean

key

string

lastLoginTime

string

Responses

Returns a response indicating the result of the assign operation.

PUT/api/2/issue/{issueIdOrKey}/assignee
1 2 3 4 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/assignee' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
POST

Add one or more attachments to an issue

Add one or more attachments to an issue. This resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides a MultiPartEntity that makes it simple to submit a multipart POST. In order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: no-check with the request, otherwise it will be blocked. The name of the multipart/form-data parameter that contains attachments must be file. A simple example to upload a file called "myfile.txt" to issue TEST-123: curl -D- -u admin:admin -X POST -H "X-Atlassian-Token: no-check" -F "file=@myfile.txt" http://myhost/rest/api/2/issue/TEST-123/attachments

Request

Path parameters

issueIdOrKey

string

Required

Request bodymultipart/form-data

Attachments to be added

string

Format: binary

Responses

Returns a JSON representation of the attachments added.

application/json

AttachmentJsonBean
POST/api/2/issue/{issueIdOrKey}/attachments
1 2 3 4 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/attachments' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Get comments for an issue

Returns all comments for an issue. Results can be ordered by the 'created' field which means the date a comment was added.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

expand

string

maxResults

string

orderBy

string

startAt

string

Responses

Returns a collection of comments associated with the issue, with count and pagination information.

application/json

CommentsWithPaginationJsonBean
GET/api/2/issue/{issueIdOrKey}/comment
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Add a comment

Adds a new comment to an issue.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

expand

string

Request bodyapplication/json

Comment create request

author

UserJsonBean

body

string

created

string

id

string

properties

array<EntityPropertyBean>

renderedBody

string

self

string

updateAuthor

UserJsonBean

updated

string

visibility

VisibilityJsonBean

Responses

Returned if add was successful.

application/json

CommentJsonBean
POST/api/2/issue/{issueIdOrKey}/comment
1 2 3 4 5 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
GET

Get a comment by id

Returns a single comment.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Query parameters

expand

string

Responses

Returns a full representation of a Jira comment in JSON format.

application/json

CommentJsonBean
GET/api/2/issue/{issueIdOrKey}/comment/{id}
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment/{id}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
PUT

Update a comment

Updates an existing comment using its JSON representation.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Query parameters

expand

string

Request bodyapplication/json

Comment update request

author

UserJsonBean

body

string

created

string

id

string

properties

array<EntityPropertyBean>

renderedBody

string

self

string

updateAuthor

UserJsonBean

updated

string

visibility

VisibilityJsonBean

Responses

Returned if update was successful.

application/json

CommentJsonBean
PUT/api/2/issue/{issueIdOrKey}/comment/{id}
1 2 3 4 5 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment/{id}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
DEL

Delete a comment

Deletes an existing comment.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Responses

Returned if delete was successful.

DEL/api/2/issue/{issueIdOrKey}/comment/{id}
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment/{id}' \ --user 'email@example.com:<api_token>'
PUT

Pin a comment

Pins a comment to the top of the comment list.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Request bodyapplication/json

'true' must be included as raw data

boolean

Responses

Returned if the comment was pinned successfully.

PUT/api/2/issue/{issueIdOrKey}/comment/{id}/pin
1 2 3 4 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment/{id}/pin' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
GET

Get metadata for issue types used for editing issues

Returns the meta data for editing an issue. The fields in the editmeta correspond to the fields in the edit screen for the issue. Fields not in the screen will not be in the editmeta.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns a response containing a Map of FieldBeans for fields editable by the current user.

application/json

EditMetaBean

GET/api/2/issue/{issueIdOrKey}/editmeta
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/editmeta' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Send notification to recipients

Sends a notification (email) to the list or recipients defined in the request.

Request

Path parameters

issueIdOrKey

string

Required

Request bodyapplication/json

Notification request

htmlBody

string

restrict

RestrictJsonBean

subject

string

textBody

string

to

ToJsonBean

Responses

Returned if adding to the mail queue was successful.

POST/api/2/issue/{issueIdOrKey}/notify
1 2 3 4 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/notify' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
GET

Get pinned comments for an issue

Returns all pinned to the issue comments.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns a collection of pinned comments associated with the issue.

application/json

PinnedCommentJsonBean
GET/api/2/issue/{issueIdOrKey}/pinned-comments
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/pinned-comments' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Get keys of all properties for an issueExperimental

Returns the keys of all properties for the issue identified by the key or by the id.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns a response containing EntityPropertiesKeysBean.

application/json

EntityPropertiesKeysBean
GET/api/2/issue/{issueIdOrKey}/properties
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/properties' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Get the value of a specific property from an issueExperimental

Returns the value of the property with a given key from the issue identified by the key or by the id.

Request

Path parameters

propertyKey

string

Required
issueIdOrKey

string

Required

Responses

Returned if the issue property was found.

application/json

EntityPropertyBean
GET/api/2/issue/{issueIdOrKey}/properties/{propertyKey}
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
PUT

Update the value of a specific issue's propertyExperimental

Sets the value of the specified issue's property.

Request

Path parameters

propertyKey

string

Required
issueIdOrKey

string

Required

Request bodyapplication/json

The value of the issue's property

string

Format: json

Responses

Returned if the issue property is successfully updated.

PUT/api/2/issue/{issueIdOrKey}/properties/{propertyKey}
1 2 3 4 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
DEL

Delete a property from an issueExperimental

Removes the property from the issue identified by the key or by the id.

Request

Path parameters

propertyKey

string

Required
issueIdOrKey

string

Required

Responses

Returned if the issue property was removed successfully.

DEL/api/2/issue/{issueIdOrKey}/properties/{propertyKey}
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}' \ --user 'email@example.com:<api_token>'
GET

Get remote issue links for an issue.

issueIdOrKey

string

Required
globalId

string

Returns a response containing remote issue links for the issue.

application/json

RemoteIssueLinkBean

GET/api/2/issue/{issueIdOrKey}/remotelink
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Create or update remote issue link

Creates or updates a remote issue link from a JSON representation. If a globalId is provided and a remote issue link exists with that globalId, the remote issue link is updated. Otherwise, the remote issue link is created.

Request

Path parameters

issueIdOrKey

string

Required

Request bodyapplication/json

Remote issue link create or update request

application

Application

globalId

string

object

RemoteObject

relationship

string

Responses

Returns a link to the created/updated remote issue link.

application/json

RemoteIssueLinkBean

POST/api/2/issue/{issueIdOrKey}/remotelink
1 2 3 4 5 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
DEL

Delete the remote issue link with the given global id on the issue.

issueIdOrKey

string

Required
globalId

string

Required

Returned if the remote issue link was removed successfully.

DEL/api/2/issue/{issueIdOrKey}/remotelink
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink?globalId={globalId}' \ --user 'email@example.com:<api_token>'
GET

Get a remote issue link by its id.

linkId

string

Required
issueIdOrKey

string

Required

Returns a response containing a remote issue link.

application/json

RemoteIssueLinkBean

GET/api/2/issue/{issueIdOrKey}/remotelink/{linkId}
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
PUT

Updates a remote issue link from a JSON representation. Any fields not provided are set to null.

linkId

string

Required
issueIdOrKey

string

Required

Remote issue link create or update request

application

Application

globalId

string

object

RemoteObject

relationship

string

Returns a response indicating the result of the update operation.

PUT/api/2/issue/{issueIdOrKey}/remotelink/{linkId}
1 2 3 4 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
DEL

Delete the remote issue link with the given id on the issue.

linkId

string

Required
issueIdOrKey

string

Required

Returned if the remote issue link was removed successfully.

DEL/api/2/issue/{issueIdOrKey}/remotelink/{linkId}
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}' \ --user 'email@example.com:<api_token>'
PUT

Restore an archived issue

Restores an archived issue.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

notifyUsers

string

Responses

Returns a response indicating the result of the restore operation.

PUT/api/2/issue/{issueIdOrKey}/restore
1 2 3 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/restore' \ --user 'email@example.com:<api_token>'
GET

Get an issue's subtask list

Returns an issue's subtask list

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returned if the request was successful.

application/json

IssueRefJsonBean
GET/api/2/issue/{issueIdOrKey}/subtask
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/subtask' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
GET

Check if a subtask can be moved

Checks if a subtask can be moved

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returned if the request was successful.

application/json

boolean

GET/api/2/issue/{issueIdOrKey}/subtask/move
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/subtask/move' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Reorder an issue's subtasks

Reorders an issue's subtasks by moving the subtask at index 'from' to index 'to'.

Request

Path parameters

issueIdOrKey

string

Required

Request bodyapplication/json

The description of previous and current position of subtask in the sequence.

current

integer

original

integer

Responses

Returned if the request was successful

POST/api/2/issue/{issueIdOrKey}/subtask/move
1 2 3 4 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/subtask/move' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
GET

Get list of transitions possible for an issue

Get a list of the transitions possible for this issue by the current user, along with fields that are required and their types. Fields will only be returned if expand=transitions.fields. The fields in the metadata correspond to the fields in the transition screen for that transition. Fields not in the screen will not be in the metadata.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

transitionId

string

Responses

Returns a response containing a Map of TransitionFieldBeans for each transition possible by the current user.

application/json

TransitionsMetaBean
GET/api/2/issue/{issueIdOrKey}/transitions
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/transitions' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Perform a transition on an issue

Perform a transition on an issue. When performing the transition you can update or set other issue fields. The fields that can be set on transition, in either the fields parameter or the update parameter can be determined using the /rest/api/2/issue/{issueIdOrKey}/transitions?expand=transitions.fields resource. If a field is not configured to appear on the transition screen, then it will not be in the transition metadata, and a field validation error will occur if it is submitted. The updateHistory param adds the issues retrieved by this method to the current user's issue history, if set to true (by default, the issue history does not include issues retrieved via the REST API). You can view the issue history in the Jira application, via the Issues dropdown or by using the lastViewed JQL field in an issue search.

Request

Path parameters

issueIdOrKey

string

Required

Request bodyapplication/json

Issue update bean

fields

object

historyMetadata

HistoryMetadata

properties

array<EntityPropertyBean>

transition

TransitionBean

update

object

Responses

Returns a response indicating the result of the transition operation.

POST/api/2/issue/{issueIdOrKey}/transitions
1 2 3 4 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/transitions' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
GET

Get votes for issue

A REST sub-resource representing the voters on the issue.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns a response containing information about voting on the current issue

application/json

VoteBean

GET/api/2/issue/{issueIdOrKey}/votes
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/votes' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Add vote to issue

Adds voter (currently logged user) to particular ticket. You need to be logged in to use this method.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns the vote count for particular ticket.

POST/api/2/issue/{issueIdOrKey}/votes
1 2 3 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/votes' \ --user 'email@example.com:<api_token>'
DEL

Remove vote from issue

Remove your vote from an issue.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns a response indicating the result of the remove vote operation.

DEL/api/2/issue/{issueIdOrKey}/votes
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/votes' \ --user 'email@example.com:<api_token>'
GET

Get list of watchers of issue

Returns the list of watchers for the issue with the given key.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns the list of watchers for an issue.

application/json

WatchersBean

GET/api/2/issue/{issueIdOrKey}/watchers
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/watchers' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Add a user as watcher

Adds a user to an issue's watcher list.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

userName

string

Request bodyapplication/json

string

Responses

Returned if the watcher was added successfully.

POST/api/2/issue/{issueIdOrKey}/watchers
1 2 3 4 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/watchers' \ --user 'email@example.com:<api_token>' \ --header 'Content-Type: application/json'
DEL

Delete watcher from issue

Removes a user from an issue's watcher list.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

userName

string

username

string

Responses

Returned if the watcher was removed successfully.

DEL/api/2/issue/{issueIdOrKey}/watchers
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/watchers' \ --user 'email@example.com:<api_token>'
GET

Get worklogs for an issue

Returns all work logs for an issue. Work logs won't be returned if the Log work field is hidden for the project.

Request

Path parameters

issueIdOrKey

string

Required

Responses

Returns a collection of worklogs associated with the issue, with count and pagination information.

application/json

WorklogWithPaginationBean
GET/api/2/issue/{issueIdOrKey}/worklog
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/worklog' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
POST

Add a worklog entry

Adds a new worklog entry to an issue.

Request

Path parameters

issueIdOrKey

string

Required

Query parameters

newEstimate

string

adjustEstimate

string

reduceBy

string

Request bodyapplication/json

Worklog create request

author

UserJsonBean

comment

string

created

string

id

string

issueId

string

self

string

started

string

timeSpent

string

timeSpentSeconds

integer

updateAuthor

UserJsonBean

Responses

Returned if add was successful.

application/json

worklog
POST/api/2/issue/{issueIdOrKey}/worklog
1 2 3 4 5 curl --request POST \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/worklog' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
GET

Get a worklog by id

Returns a specific worklog. The work log won't be returned if the Log work field is hidden for the project.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Responses

Returns a response containing a worklog.

application/json

worklog
GET/api/2/issue/{issueIdOrKey}/worklog/{id}
1 2 3 4 curl --request GET \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/worklog/{id}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json'
PUT

Update a worklog entry

Updates an existing worklog entry. Note that:

  • Fields possible for editing are: comment, visibility, started, timeSpent and timeSpentSeconds.
  • Either timeSpent or timeSpentSeconds can be set.
  • Fields which are not set will not be updated.
  • For a request to be valid, it has to have at least one field change.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Query parameters

newEstimate

string

adjustEstimate

string

Request bodyapplication/json

Worklog update request

author

UserJsonBean

comment

string

created

string

id

string

issueId

string

self

string

started

string

timeSpent

string

timeSpentSeconds

integer

updateAuthor

UserJsonBean

Responses

Returned if update was successful.

application/json

worklog
PUT/api/2/issue/{issueIdOrKey}/worklog/{id}
1 2 3 4 5 curl --request PUT \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/worklog/{id}' \ --user 'email@example.com:<api_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json'
DEL

Delete a worklog entry

Deletes an existing worklog entry.

Request

Path parameters

issueIdOrKey

string

Required
id

string

Required

Query parameters

newEstimate

string

adjustEstimate

string

increaseBy

string

Responses

Returned if delete was successful.

DEL/api/2/issue/{issueIdOrKey}/worklog/{id}
1 2 3 curl --request DELETE \ --url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/worklog/{id}' \ --user 'email@example.com:<api_token>'

Rate this page: