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:
boolean
Issue update bean
object
HistoryMetadata
array<EntityPropertyBean>
TransitionBean
object
Returns a link to the created 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'
Archives a list of issues.
string
List of issue keys
string
Returns a stream of issues archiving results.
object
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'
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.
Issues update bean
array<IssueUpdateBean>
Returns a link to the created issues.
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'
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.
string
Requiredstring
string
Returns the metadata for issue types used for creating issues.
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'
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.
string
Requiredstring
Requiredstring
string
Returns the metadata for issue types used for creating issues.
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 issue picker resource
string
string
string
string
string
string
Returns a response containing issue picker resource.
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'
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).
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.
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:
string
Requiredstring
string
string
string
Returns a full representation of a Jira issue in JSON format.
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'
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.
string
Requiredstring
Issue update bean
object
HistoryMetadata
array<EntityPropertyBean>
TransitionBean
object
Returned if it updated the issue successfully.
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'
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.
string
Requiredstring
Returned if the issue was removed successfully.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}' \
--user 'email@example.com:<api_token>'
Archives an issue.
string
Requiredstring
Returns a response indicating the result of the archive operation.
1
2
3
curl --request PUT \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/archive' \
--user 'email@example.com:<api_token>'
Assign an issue to a user.
string
RequiredUserBean containing the username
boolean
SimpleListWrapperApplicationRoleBean
object
boolean
string
string
string
SimpleListWrapperGroupJsonBean
string
string
Returns a response indicating the result of the assign operation.
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'
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
string
RequiredAttachments to be added
string
binary
Returns a JSON representation of the attachments added.
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'
Returns all comments for an issue. Results can be ordered by the 'created' field which means the date a comment was added.
string
Requiredstring
string
string
string
Returns a collection of comments associated with the issue, with count and pagination information.
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'
Adds a new comment to an issue.
string
Requiredstring
Comment create request
UserJsonBean
string
string
string
array<EntityPropertyBean>
string
string
UserJsonBean
string
VisibilityJsonBean
Returned if add was successful.
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'
Returns a single comment.
string
Requiredstring
Requiredstring
Returns a full representation of a Jira comment in JSON format.
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'
Updates an existing comment using its JSON representation.
string
Requiredstring
Requiredstring
Comment update request
UserJsonBean
string
string
string
array<EntityPropertyBean>
string
string
UserJsonBean
string
VisibilityJsonBean
Returned if update was successful.
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'
Deletes an existing comment.
string
Requiredstring
RequiredReturned if delete was successful.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/comment/{id}' \
--user 'email@example.com:<api_token>'
Pins a comment to the top of the comment list.
string
Requiredstring
Required'true' must be included as raw data
boolean
Returned if the comment was pinned successfully.
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'
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.
string
RequiredReturns a response containing a Map of FieldBeans for fields editable by the current user.
EditMetaBean
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'
Sends a notification (email) to the list or recipients defined in the request.
string
RequiredNotification request
string
RestrictJsonBean
string
string
ToJsonBean
Returned if adding to the mail queue was successful.
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'
Returns all pinned to the issue comments.
string
RequiredReturns a collection of pinned comments associated with the issue.
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'
Returns the keys of all properties for the issue identified by the key or by the id.
string
RequiredReturns a response containing EntityPropertiesKeysBean.
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'
Returns the value of the property with a given key from the issue identified by the key or by the id.
string
Requiredstring
RequiredReturned if the issue property was found.
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'
Sets the value of the specified issue's property.
string
Requiredstring
RequiredThe value of the issue's property
string
json
Returned if the issue property is successfully updated.
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'
Removes the property from the issue identified by the key or by the id.
string
Requiredstring
RequiredReturned if the issue property was removed successfully.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}' \
--user 'email@example.com:<api_token>'
Get remote issue links for an issue.
string
Requiredstring
Returns a response containing remote issue links for the issue.
RemoteIssueLinkBean
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'
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.
string
RequiredRemote issue link create or update request
Application
string
RemoteObject
string
Returns a link to the created/updated remote issue link.
RemoteIssueLinkBean
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'
Delete the remote issue link with the given global id on the issue.
string
Requiredstring
RequiredReturned if the remote issue link was removed successfully.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink?globalId={globalId}' \
--user 'email@example.com:<api_token>'
Get a remote issue link by its id.
string
Requiredstring
RequiredReturns a response containing a remote issue link.
RemoteIssueLinkBean
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'
Updates a remote issue link from a JSON representation. Any fields not provided are set to null.
string
Requiredstring
RequiredRemote issue link create or update request
Application
string
RemoteObject
string
Returns a response indicating the result of the update operation.
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'
Delete the remote issue link with the given id on the issue.
string
Requiredstring
RequiredReturned if the remote issue link was removed successfully.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}' \
--user 'email@example.com:<api_token>'
Restores an archived issue.
string
Requiredstring
Returns a response indicating the result of the restore operation.
1
2
3
curl --request PUT \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/restore' \
--user 'email@example.com:<api_token>'
Returns an issue's subtask list
string
RequiredReturned if the request was successful.
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'
Checks if a subtask can be moved
string
RequiredReturned if the request was successful.
boolean
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'
Reorders an issue's subtasks by moving the subtask at index 'from' to index 'to'.
string
RequiredThe description of previous and current position of subtask in the sequence.
integer
integer
Returned if the request was successful
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 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.
string
Requiredstring
Returns a response containing a Map of TransitionFieldBeans for each transition possible by the current user.
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'
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.
string
RequiredIssue update bean
object
HistoryMetadata
array<EntityPropertyBean>
TransitionBean
object
Returns a response indicating the result of the transition operation.
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'
A REST sub-resource representing the voters on the issue.
string
RequiredReturns a response containing information about voting on the current issue
VoteBean
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'
Adds voter (currently logged user) to particular ticket. You need to be logged in to use this method.
string
RequiredReturns the vote count for particular ticket.
1
2
3
curl --request POST \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/votes' \
--user 'email@example.com:<api_token>'
Remove your vote from an issue.
string
RequiredReturns a response indicating the result of the remove vote operation.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/votes' \
--user 'email@example.com:<api_token>'
Returns the list of watchers for the issue with the given key.
string
RequiredReturns the list of watchers for an issue.
WatchersBean
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'
Adds a user to an issue's watcher list.
string
Requiredstring
string
Returned if the watcher was added successfully.
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'
Removes a user from an issue's watcher list.
string
Requiredstring
string
Returned if the watcher was removed successfully.
1
2
3
curl --request DELETE \
--url 'http://{baseurl}/rest/api/2/issue/{issueIdOrKey}/watchers' \
--user 'email@example.com:<api_token>'
Returns all work logs for an issue. Work logs won't be returned if the Log work field is hidden for the project.
string
RequiredReturns a collection of worklogs associated with the issue, with count and pagination information.
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'
Adds a new worklog entry to an issue.
string
Requiredstring
string
string
Worklog create request
UserJsonBean
string
string
string
string
string
string
string
integer
UserJsonBean
Returned if add was successful.
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'
Returns a specific worklog. The work log won't be returned if the Log work field is hidden for the project.
string
Requiredstring
RequiredReturns a response containing a worklog.
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'
Updates an existing worklog entry. Note that:
string
Requiredstring
Requiredstring
string
Worklog update request
UserJsonBean
string
string
string
string
string
string
string
integer
UserJsonBean
Returned if update was successful.
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'
Deletes an existing worklog entry.
string
Requiredstring
Requiredstring
string
string
Returned if delete was successful.
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: