Jira Agile Server REST API reference
Jira Agile 9.5.0
Welcome to the JIRA Software Server REST API reference. You can use this REST API to build add-ons for JIRA Software, develop integrations between JIRA Software and other applications, or script interactions with JIRA Software. This page documents the REST resources available in JIRA Software Server, along with expected HTTP response codes and sample requests.
Looking for the REST API reference for a different JIRA version? Follow the links below.
JIRA Agile is an add-on, which is part of the JIRA Software application and provides the Agile planning features like boards and sprints. JIRA Software is built on the JIRA platform. As such, there is a natural overlap in functionality between what is provided by JIRA Software and what is provided by the JIRA platform. The REST API reference for the JIRA Server platform is here: JIRA Server platform REST API.
Authentication
The following authentication methods are supported for the JIRA REST APIs:
- OAuth (1.0a) - This token-based method is the recommended method. It is more flexible and secure than other options.
- Basic HTTP - This method is only recommended for tools like scripts or bots. It is easier to implement, but much less secure.
Note, JIRA itself uses cookie-based authentication in the browser, so you can call REST from Javascript on the page and rely on the authentication that the browser has established. To reproduce the behavior of the JIRA log-in page (for example, to display authentication error messages to users) can POST
to the /auth/1/session
resource.
URI structure
JIRA Agile's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will
make an HTTP request and parse the response. The JIRA Agile REST API uses
JSON as its communication format, and the standard HTTP methods like
GET
, PUT
, POST
and DELETE
(see API descriptions below for which
methods are available for each resource). URIs for JIRA Agile's REST API resource have the following structure:
http://host:port/context/rest/api-name/api-version/resource-name
Currently there are two API names available, which will be discussed further below:
auth
- for authentication-related operations, andapi
- for everything else.
The current API version is 1
. However, there is also a symbolic version, called latest
,
which resolves to the latest version supported by the given JIRA Software Server instance. For example, if you wanted to retrieve
the JSON representation of a board with boardId=123
, from a JIRA Software Server instance at https://jira.example.com
, you would access:
https://jira.example.com/rest/agile/latest/board/123
Pagination
Pagination is used for the JIRA REST APIs to conserve server resources and limit response size for resources that return potentially large collection of items. A request to a pages API will result in a values array wrapped in a JSON object with some paging metada, like this:
Request
http://host:port/context/rest/api-name/api-version/resource-name?start=0&limit=10
Response
{
"startAt" : 0,
"maxResults" : 10,
"total": 200,
"values": [
{ /* result 0 */ },
{ /* result 1 */ },
{ /* result 2 */ }
]
}
startAt
- the item used as the first item in the page of results.maxResults
- how many results to return per page.total
- the number of items that the calling user has permissions for. This number may change while the client requests the next pages. A client should always assume that the requested page can be empty. REST API consumers should also consider the field to be optional. This value may not be included in the response, if it is too expensive to calculate.
Clients can use the startAt
, maxResults
, and total
parameters to retrieve the desired number of results. Note, each API resource or method may have a different limit on the number of items returned, which means you can ask for more than you are given. The actual number of items returned is an implementation detail and this can be changed over time.
Experimental methods
Methods marked as experimental may change without an earlier notice. We are looking for your feedback for these methods.
Query parameters
All query parameters for the resources described below are optional, unless specified otherwise.
Special Request and Response headers
- X-AUSERNAME - Response header which contains either username of the authenticated user or 'anonymous'.
- X-Atlassian-Token - methods which accept multipart/form-data will only process requests with 'X-Atlassian-Token: nocheck' header.
Resources
agile/1.0/backlog
Move issues to backlogPOST /rest/agile/1.0/backlog/issue
Move issues to the backlog.
This operation is equivalent to remove future and active sprints from a given set of issues.
At most 50 issues may be moved at once.
Request
Example
{"issues":["PR-1","10001","PR-3"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-assign-request#","title":"Issue Assign Request","type":"object","properties":{"issues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Empty response is returned if operation was successful.
Responses
- Returned if user does not a have valid license or does not have permission to assign issues.
Responses
- Returned if sprint does not exist or the user cannot view it.
agile/1.0/board
Get all boardsGET /rest/agile/1.0/board
Returns all boards. This only includes boards that the user has permission to view.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned boards. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of boards to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. |
type | string | Filters results to boards of the specified type. Valid values: scrum, kanban. |
name | string | Filters results to boards that match or partially match the specified name. |
projectKeyOrId | string | Filters results to boards that are relevant to a project. Relevance meaning that the jql filter defined in board contains a reference to a project. |
Responses
- application/jsonReturns the requested boards, at the specified page of the results.
Example
{"maxResults":2,"startAt":1,"total":5,"isLast":false,"values":[{"id":84,"self":"http://www.example.com/jira/rest/agile/1.0/board/84","name":"scrum board","type":"scrum"},{"id":92,"self":"http://www.example.com/jira/rest/agile/1.0/board/92","name":"kanban board","type":"kanban"}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not have valid license.
Create boardPOST /rest/agile/1.0/board
Creates a new board. Board name, type and filter Id is required.
name
- Must be less than 255 characters.type
- Valid values: scrum, kanbanfilterId
- Id of a filter that the user has permissions to view. Note, if the user does not have the 'Create shared objects' permission and tries to create a shared board, a private board will be created instead (remember that board sharing depends on the filter sharing).
-
If you want to create a new project with an associated board, use the JIRA platform REST API.
For more information, see the Create project method.
The
projectTypeKey
for software boards must be 'software' and theprojectTemplateKey
must be eithercom.pyxis.greenhopper.jira:gh-kanban-template
orcom.pyxis.greenhopper.jira:gh-scrum-template
. - You can create a filter using the JIRA REST API. For more information, see the Create filter method.
- If you do not ORDER BY the Rank field for the filter of your board, you will not be able to reorder issues on the board.
Request
Example
{"name":"scrum board","type":"scrum","filterId":10040}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/board-create#","title":"Board Create","type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"filterId":{"type":"integer"}},"additionalProperties":false}
Responses
- application/jsonReturns the created board.
Example
{"id":84,"self":"http://www.example.com/jira/rest/agile/1.0/board/84","name":"scrum board","type":"scrum"}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Get boardGET /rest/agile/1.0/board/{boardId}
Returns the board for the given board Id. This board will only be returned if the user has permission to view it.
Responses
- application/jsonReturns the requested board.
Example
{"id":84,"self":"http://www.example.com/jira/rest/agile/1.0/board/84","name":"scrum board","type":"scrum"}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
Delete boardDELETE /rest/agile/1.0/board/{boardId}
Deletes the board.
Responses
- Returned if the board has been successfully removed.
Responses
- Returned if the user does not a have valid license, or when the user does not have the permission to delete the board. The user has to be a JIRA Administrator or a board administrator to remove the board.
Responses
- Returned if a board with the given id does not exist or the user does not have the permission to view the board.
Get issues for backlogGET /rest/agile/1.0/board/{boardId}/backlog
Returns all issues from the board's backlog, for the given board Id. This only includes issues that the user has permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | This parameter is currently not used. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
Get configurationGET /rest/agile/1.0/board/{boardId}/configuration
Get the board configuration. The response contains the following fields:
id
- Id of the board.name
- Name of the board.filter
- Reference to the filter used by the given board.subQuery
(Kanban only) - JQL subquery used by the given board.columnConfig
- The column configuration lists the columns for the board, in the order defined in the column configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values: none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses mapped to it is treated as the "Done" column, which means that issues in that column will be marked as already completed.estimation
(Scrum only) - Contains information about type of estimation used for the board. Valid values: none, issueCount, field. If the estimation type is "field", the Id and display name of the field used for estimation is also returned. Note, estimates for an issue can be updated by a PUT /rest/api/2/issue/{issueIdOrKey} request, however the fields must be on the screen. "timeoriginalestimate" field will never be on the screen, so in order to update it "originalEstimate" in "timetracking" field should be updated.ranking
- Contains information about custom field used for ranking in the given board.
Responses
- application/jsonReturns the configuration of the board for given boardId.
Example
{"id":10000,"name":"Board","self":"http://www.example.com/jira/rest/agile/1.0/board/84/config","filter":{"id":"1001","self":"http://www.example.com/jira/filter/1001"},"columnConfig":{"columns":[{"name":"To Do","statuses":[{"id":"1","self":"http://www.example.com/jira/status/1"},{"id":"4","self":"http://www.example.com/jira/status/4"}]},{"name":"In progress","statuses":[{"id":"3","self":"http://www.example.com/jira/status/3"}],"min":2,"max":4},{"name":"Done","statuses":[{"id":"5","self":"http://www.example.com/jira/status/5"}]}],"constraintType":"issueCount"},"estimation":{"type":"field","field":{"fieldId":"customfield_10002","displayName":"Story Points"}},"ranking":{"rankCustomFieldId":10020}}
Responses
- Returned if the user is not logged in.
Responses
- Returned if user does not a have valid license.
Responses
- Returned if board does not exist or the user cannot view it.
Get issues for boardGET /rest/agile/1.0/board/{boardId}/issue
Returns all issues from a board, for a given board Id. This only includes issues that the user has permission to view. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | This parameter is currently not used. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
agile/1.0/board/{boardId}/epic
Get epicsGET /rest/agile/1.0/board/{boardId}/epic
Returns all epics from the board, for the given board Id. This only includes epics that the user has permission to view. Note, if the user does not have permission to view the board, no epics will be returned at all.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned epics. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of epics to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. |
done | string | Filters results to epics that are either done or not done. Valid values: true, false. |
Responses
- application/jsonReturns the requested epics, at the specified page of the results.
Example
{"maxResults":2,"startAt":1,"total":5,"isLast":false,"values":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/13","name":"epic 2","summary":"epic 2 summary","color":{"key":"color_2"},"done":false}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not have valid license.
Responses
- Returned if board does not exist or the user does not have permission to view it.
Get issues for epicGET /rest/agile/1.0/board/{boardId}/epic/{epicId}/issue
Returns all issues that belong to an epic on the board, for the given epic Id and the board Id. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
Get issues without epicGET /rest/agile/1.0/board/{boardId}/epic/none/issue
Returns all issues that do not belong to any epic on a board, for a given board Id. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
agile/1.0/board/{boardId}/project
Get projectsGET /rest/agile/1.0/board/{boardId}/project
Returns all projects that are associated with the board, for the given board Id. A project is associated with a board only if the board filter explicitly filters issues by the project and guaranties that all issues will come for one of those projects e.g. board's filter with "project in (PR-1, PR-1) OR reporter = admin" jql Projects are returned only if user can browse all projects that are associated with the board.
Note, if the user does not have permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned projects. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of projects to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. |
Responses
- application/jsonReturns the board's projects, at the specified page of the results.
Example
{"maxResults":10,"startAt":0,"total":2,"isLast":true,"values":[{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},{"self":"http://www.example.com/jira/rest/api/2/project/ABC","id":"10001","key":"ABC","name":"Alphabetical","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10001","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10001","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10001","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10001"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if board does not exist or the user does not have permission to access it.
agile/1.0/board/{boardId}/properties
Get properties keysGET /rest/agile/1.0/board/{boardId}/properties
Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is required to have permissions to view the board.
Responses
- application/jsonReturned if the board with given id exists.
Example
{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}
Responses
- Returned if the boardId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the board with given id does not exist or if the property with given key is not found or the user doesn't have permissions to see it.
Delete propertyDELETE /rest/agile/1.0/board/{boardId}/properties/{propertyKey}
Removes the property from the board identified by the id. Ths user removing the property is required to have permissions to modify the board.
Responses
- Returned if the boardId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the board property was removed successfully.
Responses
- Returned if the board with given id does not exist or if the property with given key is not found or the user doesn't have permissions to see it.
Set propertyPUT /rest/agile/1.0/board/{boardId}/properties/{propertyKey}
Sets the value of the specified board's property.
You can use this resource to store a custom data against the board identified by the id. The user who stores the data is required to have permissions to modify the board.
Responses
- Returned if the board property is successfully updated.
Responses
- Returned if the board property is successfully created.
Responses
- Returned if the boardId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the board with given id does not exist or the user doesn't have permissions to see it.
Get propertyGET /rest/agile/1.0/board/{boardId}/properties/{propertyKey}
Returns the value of the property with a given key from the board identified by the provided id. The user who retrieves the property is required to have permissions to view the board.
Responses
- application/jsonReturned if the board exists and the property was found.
Example
{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}
Responses
- Returned if the boardId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the board with given id does not exist or if the property with given key is not found or the user doesn't have permissions to see it.
agile/1.0/board/{boardId}/settings
Get refined velocityGET /rest/agile/1.0/board/{boardId}/settings/refined-velocity
Returns the value of the setting for refined velocity chart
Responses
- application/jsonReturned if the board exists and the property was found.
Responses
- Returned if the boardId is invalid (negative or not a number).
Responses
- Returned if the user does not have valid license.
Responses
- Returned if the board with given id does not exist or if the property with given key is not found or the user doesn't have permissions to see it.
Set refined velocityPUT /rest/agile/1.0/board/{boardId}/settings/refined-velocity
Sets the value of the specified board's refined velocity setting.
Request
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/boolean-setting#","title":"Boolean Setting","type":"object","properties":{"value":{"type":"boolean"}},"additionalProperties":false,"required":["value"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/boolean-setting#","title":"Boolean Setting","type":"object","properties":{"value":{"type":"boolean"}},"additionalProperties":false,"required":["value"]}
Responses
- Returned if the board property is successfully updated.
Responses
- Returned if the board property is successfully created.
Responses
- Returned if the boardId is invalid (negative or not a number).
Responses
- Returned if the user does not have valid license.
Responses
- Returned if the board with given id does not exist or if the property with given key is not found or the user doesn't have permissions to see it.
agile/1.0/board/{boardId}/sprint
Get all sprintsGET /rest/agile/1.0/board/{boardId}/sprint
Returns all sprints from a board, for a given board Id. This only includes sprints that the user has permission to view.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned sprints. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of sprints to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. |
state | string | Filters results to sprints in specified states. Valid values: future, active, closed. You can define multiple states separated by commas, e.g. state=active,closed |
Responses
- application/jsonReturns the requested sprints, at the specified page of the results. Sprints will be ordered first by state (i.e. closed, active, future) then by their position in the backlog.
Example
{"maxResults":2,"startAt":1,"total":5,"isLast":false,"values":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00","originBoardId":5,"goal":"I'm making a note here: HUGE SUCCESS."},{"id":72,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/73","state":"future","name":"sprint 2"}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if board does not exist or the user does not have permission to view it.
Get issues for sprintGET /rest/agile/1.0/board/{boardId}/sprint/{sprintId}/issue
Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource contains additional fields like: sprint, closedSprints, flagged and epic. Issues are returned ordered by rank. JQL order has higher priority than default rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
agile/1.0/board/{boardId}/version
Get all versionsGET /rest/agile/1.0/board/{boardId}/version
Returns all versions from a board, for a given board Id. This only includes versions that the user has permission to view. Note, if the user does not have permission to view the board, no versions will be returned at all. Returned versions are ordered by the name of the project from which they belong and then by sequence defined by user.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned versions. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of versions to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. |
released | string | Filters results to versions that are either released or unreleased. Valid values: true, false. |
Responses
- application/jsonReturns the requested versions, at the specified page of the results.
Example
{"maxResults":2,"startAt":1,"total":5,"isLast":false,"values":[{"self":"http://www.example.com/jira/version/10000","id":10000,"projectId":10000,"name":"Version 1","description":"A first version","archived":false,"released":true,"releaseDate":"2015-04-20T01:02:00.000+10:00"},{"self":"http://www.example.com/jira/version/10010","id":10010,"projectId":10000,"name":"Next Version","description":"Minor Bugfix version","archived":false,"released":false}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if board does not exist or the user does not have permission to view it.
agile/1.0/epic
Epic is an enriched JIRA issue. Due to split nature of the entity, in order to perform complete create, update, and delete, you must leverage JIRA REST API. JIRA resources will help you manage the issue part of an Epic, and the following Agile resources give you control over Agile specific aspects.
Create epic
POST /rest/api/2/issue
POST /rest/api/2/issue
.
Note
issueType
must be set to epic
and Epic Name
custom field is mandatory.
You can obtain Epic Name
custom field id with JIRA resource
GET /rest/api/2/field
.
Update issue specific fields of epic
PUT /rest/api/2/issue/{issueIdOrKey}
PUT /rest/api/2/issue/{issueIdOrKey}
.
Delete epic
DELETE /rest/api/2/issue
DELETE /rest/api/2/issue/{issueIdOrKey}
.
Partially update epicPOST /rest/agile/1.0/epic/{epicIdOrKey}
Performs a partial update of the epic.
A partial update means that fields not present in the request JSON will not be updated.
Valid values for color are color_1
to color_9
.
Request
Example
{"name":"epic 2","summary":"epic 2 summary","color":{"key":"color_6"},"done":true}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/epic-update#","title":"Epic Update","type":"object","properties":{"name":{"type":"string"},"summary":{"type":"string"},"color":{"title":"Color","type":"object","properties":{"key":{"type":"string","enum":["color_1","color_2","color_3","color_4","color_5","color_6","color_7","color_8","color_9","color_10","color_11","color_12","color_13","color_14"]}},"additionalProperties":false},"done":{"type":"boolean"}},"additionalProperties":false}
Responses
- application/jsonUpdated epic
Example
{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license or edit issue permission.
Responses
- Returned if the epic does not exist or the user does not have permission to view it.
Get epicGET /rest/agile/1.0/epic/{epicIdOrKey}
Returns the epic for a given epic Id. This epic will only be returned if the user has permission to view it.
Responses
- application/jsonReturns the requested epic.
Example
{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true}
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the epic does not exist or the user does not have permission to view it.
Get issues for epicGET /rest/agile/1.0/epic/{epicIdOrKey}/issue
Returns all issues that belong to the epic, for the given epic Id. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the epic does not exist or the user does not have permission to view it.
Move issues to epicPOST /rest/agile/1.0/epic/{epicIdOrKey}/issue
Moves issues to an epic, for a given epic id. Issues can be only in a single epic at the same time. That means that already assigned issues to an epic, will not be assigned to the previous epic anymore. The user needs to have the edit issue permission for all issue they want to move and to the epic. The maximum number of issues that can be moved in one operation is 50.
Request
Example
{"issues":["PR-1","10001","PR-3"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-assign-request#","title":"Issue Assign Request","type":"object","properties":{"issues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Empty response is returned if operation was successful.
Responses
- Returned if the user does not a have valid license or does not have edit issue permission for all issues to assign or for the epic.
Responses
- Returned if the epic does not exist or the user does not have permission to view it.
Rank epicsPUT /rest/agile/1.0/epic/{epicIdOrKey}/rank
Moves (ranks) an epic before or after a given epic.
If rankCustomFieldId is not defined, the default rank field will be used.
Request
Example
{"rankBeforeEpic":"10000","rankCustomFieldId":10521}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/epic-rank-request#","title":"Epic Rank Request","type":"object","properties":{"rankBeforeEpic":{"type":"string"},"rankAfterEpic":{"type":"string"},"rankCustomFieldId":{"type":"integer"}},"additionalProperties":false}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Empty response is returned if operation was successful.
Responses
- Returned if user does not a have valid license or does not have permission to rank. To rank issues user have to have schedule issue permission for epics that they want to rank.
Responses
- Returned when the given epics in the path parameter or the request body do not exist.
Get issues without epicGET /rest/agile/1.0/epic/none/issue
Returns all issues that do not belong to any epic. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}]}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Remove issues from epicPOST /rest/agile/1.0/epic/none/issue
Removes issues from epics. The user needs to have the edit issue permission for all issue they want to remove from epics. The maximum number of issues that can be moved in one operation is 50.
Request
Example
{"issues":["PR-1","10001","PR-3"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-assign-request#","title":"Issue Assign Request","type":"object","properties":{"issues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Empty response is returned if operation was successful.
Responses
- Returned if the user does not a have valid license or does not have permission to assign issues.
Responses
- Returned if the epic does not exist or the user does not have permission to view it.
agile/1.0/issue
Get issueGET /rest/agile/1.0/issue/{issueIdOrKey}
Returns a single issue, for a given issue Id or issue key. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.
Request
query parameters
parameter | type | description |
---|---|---|
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
updateHistory | boolean | A boolean indicating whether the issue retrieved by this method should be added to the current user's issue history. |
Responses
- application/jsonReturns the requested issue.
Example
{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned in these cases:
- the issue does not exist
- the user does not have permission to view issue
Get issue estimation for boardGET /rest/agile/1.0/issue/{issueIdOrKey}/estimation
Returns the estimation of the issue and a fieldId of the field that is used for it.
boardId
param is required. This param determines which field will be updated on a issue.
Original time internally stores and returns the estimation as a number of seconds.
The field used for estimation on the given board can be obtained from board configuration resource. More information about the field are returned by edit meta resource or field resource.
Request
query parameters
parameter | type | description |
---|---|---|
boardId | long | The id of the board required to determine which field is used for estimation. |
Responses
- Returns the estimation of the issue and a fieldId of the field that is used for it.
Example
{"fieldId":"customfield_12532","value":"8.0"}
Responses
- Returned if the boardId was not provided, field does not exists or value was in wrong format.
Responses
- Returned if the user is not logged in.
Responses
- Returned if user does not a have valid license or does not have permission to edit issue.
Responses
- Returned in these cases:
- the issue does not exist
- the user does not have permission to view issue
- the board does not exist
- the user does not have permission to view board
- the issue does not belong to the board
Estimate issue for boardPUT /rest/agile/1.0/issue/{issueIdOrKey}/estimation
Updates the estimation of the issue. boardId param is required. This param determines which field will be updated on a issue.
Note that this resource changes the estimation field of the issue regardless of appearance the field on the screen.
Original time tracking estimation field accepts estimation in formats like "1w", "2d", "3h", "20m" or number which represent number of minutes. However, internally the field stores and returns the estimation as a number of seconds.
The field used for estimation on the given board can be obtained from board configuration resource. More information about the field are returned by edit meta resource or field resource.
Request
query parameters
parameter | type | description |
---|---|---|
boardId | long | The id of the board required to determine which field is used for estimation. |
Example
{"value":"8.0"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/field-edit#","title":"Field Edit","type":"object","properties":{"value":{"type":"string"}},"additionalProperties":false}
Responses
- Returns the estimation of the issue and a fieldId of the field that is used for it.
Example
{"fieldId":"customfield_12532","value":"8.0"}
Responses
- Returned if the boardId was not provided, field does not exists or value was in wrong format.
Responses
- Returned if the user is not logged in.
Responses
- Returned if user does not a have valid license or does not have permission to edit issue.
Responses
- Returned in these cases:
- the issue does not exist
- the user does not have permission to view issue
- the board does not exist
- the user does not have permission to view board
- the issue does not belong to the board
Rank issuesPUT /rest/agile/1.0/issue/rank
Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.
This operation may fail for some issues, although this will be rare. In that case the 207 status code is returned for the whole response and detailed information regarding each issue is available in the response body.
If rankCustomFieldId is not defined, the default rank field will be used.
Request
Example
{"issues":["PR-1","10001","PR-3"],"rankBeforeIssue":"PR-4","rankCustomFieldId":10521}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-rank-request#","title":"Issue Rank Request","type":"object","properties":{"issues":{"type":"array","items":{"type":"string"}},"rankBeforeIssue":{"type":"string"},"rankAfterIssue":{"type":"string"},"rankCustomFieldId":{"type":"integer"}},"additionalProperties":false}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Empty response is returned if operation was successful.
Responses
- Returned if user does not a have valid license or does not have permission to rank. To rank issues user have to have schedule issue permission for issues that they want to rank.
Responses
- application/jsonReturns the list of issue with status of rank operation.
Example
{"entries":[{"issueId":10000,"issueKey":"PR-1","status":200},{"issueId":10001,"issueKey":"PR-2","status":200},{"issueId":10002,"issueKey":"PR-3","status":503,"errors":["JIRA Agile cannot execute the rank operation at this time. Please try again later."]}]}
agile/1.0/sprint
Create sprintPOST /rest/agile/1.0/sprint
Creates a future sprint. Sprint name and origin board id are required. Start and end date are optional.
Notes:
Request
Example
{"name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","originBoardId":5,"goal":"Now these points of data make a beautiful line. And we're out of beta, we're releasing on time.","autoStartStop":false,"synced":false}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/sprint-create#","title":"Sprint Create","type":"object","properties":{"name":{"type":"string"},"startDate":{"type":"string"},"endDate":{"type":"string"},"originBoardId":{"type":"integer"},"goal":{"type":"string"},"autoStartStop":{"type":"boolean"},"synced":{"type":"boolean"}},"additionalProperties":false,"required":["autoStartStop","synced"]}
Responses
- application/jsonCreated sprint
Example
{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"future","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","originBoardId":5,"goal":"You just keep on trying till you run out of cake."}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the board does not exist or the user does not have permission to view it.
Get sprintGET /rest/agile/1.0/sprint/{sprintId}
Returns the sprint for a given sprint Id. The sprint will only be returned if the user can view the board that the sprint was created on, or view at least one of the issues in the sprint.
Responses
- application/jsonReturns the requested sprint.
Example
{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00","originBoardId":5,"goal":"I'm making a note here: HUGE SUCCESS."}
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the sprint does not exist or the user does not have permission to view it.
Partially update sprintPOST /rest/agile/1.0/sprint/{sprintId}
Performs a partial update of a sprint. A partial update means that fields not present in the request JSON will not be updated.
Notes:
- Sprints that are in a closed state cannot be updated.
- A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and have a startDate and endDate set.
- A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active' state. This sets the completeDate to the time of the request.
- Other changes to state are not allowed.
- The completeDate field cannot be updated manually.
- Sprint goal can be removed by updating it's value to empty string
- Only Jira administrators can edit dates on sprints that are marked as synced.
Request
Example
{"name":"new name"}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/sprint#","title":"Sprint","type":"object","properties":{"id":{"type":"integer"},"state":{"type":"string"},"name":{"type":"string"},"startDate":{"type":"string"},"endDate":{"type":"string"},"completeDate":{"type":"string"},"activatedDate":{"type":"string"},"originBoardId":{"type":"integer"},"goal":{"type":"string"},"synced":{"type":"boolean"},"autoStartStop":{"type":"boolean"}},"additionalProperties":false}
Responses
- application/jsonUpdated sprint
Example
{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00","originBoardId":5,"goal":"I'm making a note here: HUGE SUCCESS."}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the sprint does not exist.
Delete sprintDELETE /rest/agile/1.0/sprint/{sprintId}
Deletes a sprint. Once a sprint is deleted, all issues in the sprint will be moved to the backlog. To delete a synced sprint, you must unsync it first.
Responses
- Returned if the sprint is active or completed.
Responses
- Returned if the user is not logged in.
Responses
- application/jsonReturned if the sprint was deleted successfully
Responses
- Returned if the user does not a have valid license or does not have permission to delete sprints.
Responses
- Returned if the sprint does not exist.
Update sprintPUT /rest/agile/1.0/sprint/{sprintId}
Performs a full update of a sprint. A full update means that the result will be exactly the same as the request body. Any fields not present in the request JSON will be set to null.
Notes:
- Sprints that are in a closed state cannot be updated.
- A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and have a startDate and endDate set.
- A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active' state. This sets the completeDate to the time of the request.
- Other changes to state are not allowed.
- The completeDate field cannot be updated manually.
- Only Jira administrators can edit dates on sprints that are marked as synced.
Request
Example
{"state":"closed","name":"sprint 1","startDate":"2015-04-11T15:36:00.000+10:00","endDate":"2015-04-16T14:01:00.000+10:00","completeDate":"2015-04-20T11:11:28.008+10:00","goal":"We do what we must because we can."}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/sprint#","title":"Sprint","type":"object","properties":{"id":{"type":"integer"},"state":{"type":"string"},"name":{"type":"string"},"startDate":{"type":"string"},"endDate":{"type":"string"},"completeDate":{"type":"string"},"activatedDate":{"type":"string"},"originBoardId":{"type":"integer"},"goal":{"type":"string"},"synced":{"type":"boolean"},"autoStartStop":{"type":"boolean"}},"additionalProperties":false}
Responses
- application/jsonUpdated sprint
Example
{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00","originBoardId":5,"goal":"I'm making a note here: HUGE SUCCESS."}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if the sprint does not exist.
Move issues to sprintPOST /rest/agile/1.0/sprint/{sprintId}/issue
Moves issues to a sprint, for a given sprint Id. Issues can only be moved to open or active sprints. The maximum number of issues that can be moved in one operation is 50.
Request
Example
{"issues":["PR-1","10001","PR-3"]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/issue-assign-request#","title":"Issue Assign Request","type":"object","properties":{"issues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}
Responses
- Returned if the request is invalid.
Responses
- Returned if the user is not logged in.
Responses
- Empty response is returned if operation was successful.
Responses
- Returned if the user does not a have valid license or does not have permission to assign issues.
Responses
- Returned if the sprint does not exist or the user does not have permission to view it.
Get issues for sprintGET /rest/agile/1.0/sprint/{sprintId}/issue
Returns all issues in a sprint, for a given sprint Id. This only includes issues that the user has permission to view. By default, the returned issues are ordered by rank.
Request
query parameters
parameter | type | description |
---|---|---|
startAt | long | The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details. |
maxResults | int | The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in your JIRA instance. If you exceed this limit, your results will be truncated. |
jql | string | Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of the returned issues. |
validateQuery | boolean | Specifies whether to validate the JQL query or not. Default: true. |
fields | string | The list of fields to return for each issue. By default, all navigable and Agile fields are returned. |
expand | string | A comma-separated list of the parameters to expand. |
Responses
- application/jsonReturns the requested issues, at the specified page of the results.
Example
{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/agile/1.0/board/92/issue/10001","key":"HSP-1","fields":{"flagged":true,"sprint":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/13","state":"future","name":"sprint 2"},"closedSprints":[{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/sprint/23","state":"closed","name":"sprint 1","startDate":"2015-04-11T15:22:00.000+10:00","endDate":"2015-04-20T01:22:00.000+10:00","completeDate":"2015-04-20T11:04:00.000+10:00","activatedDate":"2015-04-11T15:22:00.000+10:00"}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"body":"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2022-12-06T16:16:19.362+0000","updated":"2022-12-06T16:16:19.363+0000","visibility":{"type":"role","value":"Administrators"}}],"epic":{"id":37,"self":"http://www.example.com/jira/rest/agile/1.0/epic/23","name":"epic 1","summary":"epic 1 summary","color":{"key":"color_4"},"done":true},"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2022-12-06T16:16:19.366+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2022-12-06T16:16:19.366+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}
Responses
- Returned if the user is not logged in.
Responses
- Returned if the user does not a have valid license.
Responses
- Returned if sprint does not exist or the user cannot view it.
Swap sprintPOST /rest/agile/1.0/sprint/{sprintId}/swap
Swap the position of the sprint with the second sprint.
Request
Example
{"sprintToSwapWith":3}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/sprint-swap#","title":"Sprint Swap","type":"object","properties":{"sprintToSwapWith":{"type":"integer"}},"additionalProperties":false}
Responses
- Returned if the user is not logged in.
Responses
- application/jsonReturned if the sprint swap was performed successfully
Responses
- Returned if the user does not a have valid license or does not have permission to at least one sprint.
Responses
- Returned if at least one sprint does not exist or user does not have permission to view to at least one sprint.
Unmap sprints
experimentalPUT /rest/agile/1.0/sprint/unmap
Sets the Synced flag to false for all sprints in the provided list.
Request
Example
{"sprintIds":[10001,10004,10005]}
Schema
{"id":"https://docs.atlassian.com/jira/REST/schema/unmap-sprints#","title":"Unmap Sprints","type":"object","properties":{"sprintIds":{"type":"array","items":{"type":"integer"}}},"additionalProperties":false}
Responses
- application/json
Unmap all sprints
experimentalPUT /rest/agile/1.0/sprint/unmap-all
Sets the Synced flag to false for all sprints on this Jira instance. This operation is intended for cleanup only. It is highly destructive and not reversible. Use with caution.
Responses
- application/json
agile/1.0/sprint/{sprintId}/properties
Get properties keysGET /rest/agile/1.0/sprint/{sprintId}/properties
Returns the keys of all properties for the sprint identified by the id. The user who retrieves the property keys is required to have permissions to view the sprint.
Responses
- application/jsonReturned if the sprint with given id exists.
Example
{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}
Responses
- Returned if the sprintId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the calling user does not have permission to view the sprint.
Responses
- Returned if the sprint with given id does not exist.
Delete propertyDELETE /rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}
Removes the property from the sprint identified by the id. Ths user removing the property is required to have permissions to modify the sprint.
Responses
- Returned if the sprintId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the sprint property was removed successfully.
Responses
- Returned if the calling user does not have permission to modify the sprint.
Responses
- Returned if the sprint with given id does not exist or if the property with given key is not found.
Set propertyPUT /rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}
Sets the value of the specified sprint's property.
You can use this resource to store a custom data against the sprint identified by the id. The user who stores the data is required to have permissions to modify the sprint.
Responses
- Returned if the sprint property is successfully updated.
Responses
- Returned if the sprint property is successfully created.
Responses
- Returned if the sprintId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the calling user does not have permission to edit the sprint
Responses
- Returned if the sprint with given id does not exist.
Get propertyGET /rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}
Returns the value of the property with a given key from the sprint identified by the provided id. The user who retrieves the property is required to have permissions to view the sprint.
Responses
- application/jsonReturned if the sprint exists and the property was found.
Example
{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}
Responses
- Returned if the sprintId is invalid (negative or not a number).
Responses
- Returned if the calling user is not authenticated.
Responses
- Returned if the calling user does not have permission to view the sprint.
Responses
- Returned if the sprint with a given id does not exist or if the property with given key is not found.