Rate this page:
Apis related to boards
POST /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).location
- The container that the board will be located in. location
must include the type
property (Valid values: project, user). If choosing 'project', then a project must be specified by a projectKeyOrId
property in location
. If choosing 'user', the current user is chosen by default. The projectKeyOrId
property should not be provided.Note:
projectTypeKey
for software boards must be 'software' and the projectTemplateKey
must be either com.pyxis.greenhopper.jira:gh-kanban-template
or com.pyxis.greenhopper.jira:gh-scrum-template
.Connect app scope required: WRITE
write:board-scope:jira-software
string
string
Valid values: kanban
, scrum
, agility
integer
int64
1 2 3 4 5 6 7 8 9 10 11 12 13 14
curl --request POST \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"filterId": 10040,
"name": "scrum board",
"location": {
"projectKeyOrId": "10000",
"type": "project"
},
"type": "scrum"
}'
Returns the created board.
Content type | Value |
---|---|
application/json |
Example response (application/json)
1 2 3 4 5 6
{
"id": 84,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84",
"name": "scrum board",
"type": "scrum"
}
GET /rest/agile/1.0/board/filter/{filterId}
Returns any boards which use the provided filter id. This method can be executed by users without a valid software license in order to find which boards are using a particular filter.
Connect app scope required: READ
read:board-scope.admin:jira-software
integer
Filters results to boards that are relevant to a filter. Not supported for next-gen boards.
int64
integer
The starting index of the returned boards. Base index: 0. See the 'Pagination' section at the top of this page for more details.
int64
integer
The maximum number of boards to return per page. Default: 50. See the 'Pagination' section at the top of this page for more details.
int32
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/filter/{filterId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested boards, at the specified page of the results.
Content type | Value |
---|---|
application/json |
Example response (application/json)
1 2 3 4 5
{
"id": 84,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84",
"name": "scrum board"
}
GET /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. Admins without the view permission will see the board as a private one, so will see only a subset of the board's data (board location for instance).
Connect app scope required: READ
read:board-scope:jira-software
read:issue-details:jira
integer
The ID of the requested board.
int64
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested board.
Content type | Value |
---|---|
application/json |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{
"id": 84,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84",
"name": "scrum board",
"type": "scrum",
"location": {
"projectId": 10040,
"userId": 10040,
"userAccountId": "5b10a2844c20165700ede21g",
"displayName": "Example Project",
"projectName": "Example Project",
"projectKey": "Example Project Key",
"projectTypeKey": "KEY",
"name": "Example Project"
}
}
DELETE /rest/agile/1.0/board/{boardId}
Deletes the board. Admin without the view permission can still remove the board.
Connect app scope required: DELETE
write:board-scope:jira-software
integer
ID of the board to be deleted
int64
1 2 3
curl --request DELETE \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}' \
--header 'Authorization: Bearer <access_token>'
Returned if the board has been successfully removed.
GET /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.
Connect app scope required: READ
read:board-scope:jira-software
read:issue-details:jira
integer
The ID of the board that has the backlog containing the requested issues.
int64
integer
The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.
int64
integer
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.
int32
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.
Note that username
and userkey
can't be used as search terms for this parameter due to privacy reasons. Use accountId
instead.
boolean
Specifies whether to validate the JQL query or not. Default: true.
Array<object>
The list of fields to return for each issue. By default, all navigable and Agile fields are returned.
string
This parameter is currently not used.
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/backlog' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested issues, at the specified page of the results.
Content type | Value |
---|---|
application/json |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "",
"id": "10001",
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001",
"key": "HSP-1",
"fields": {
"flagged": true,
"sprint": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/sprint/13",
"state": "future",
"name": "sprint 2",
"goal": "sprint 2 goal"
},
"closedSprints": [
{
"id": 37,
"self": "https://your-domain.atlassian.net/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",
"goal": "sprint 1 goal"
}
],
"description": "example bug report",
"project": {
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"id": "10000",
"key": "EX",
"name": "Example",
"avatarUrls": {
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"
},
"projectCategory": {
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000",
"id": "10000",
"name": "FIRST",
"description": "First Project Category"
},
"simplified": false,
"style": "classic",
"insight": {
"totalIssueCount": 100,
"lastIssueUpdateTime": "2022-11-15T23:15:20.052+0000"
}
},
"comment": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}
]
}
]
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"created": "2021-01-17T12:34:00.000+0000",
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "role",
"value": "Administrators",
"identifier": "Administrators"
}
}
],
"epic": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/23",
"name": "epic 1",
"summary": "epic 1 summary",
"color": {
"key": "color_4"
},
"done": true
},
"worklog": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "I did some work here."
}
]
}
]
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "group",
"value": "jira-developers",
"identifier": "276f955c-63d7-42c8-9520-92d01dca0625"
},
"started": "2021-01-17T12:34:00.000+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
}
}
}
]
}
GET /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.location
- Reference to the container that the board is located in. Includes the container type (Valid values: project, user).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/3/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.Connect app scope required: READ
read:board-scope.admin:jira-software
read:project:jira
integer
The ID of the board for which configuration is requested.
int64
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/configuration' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the configuration of the board for given boardId.
Content type | Value |
---|---|
application/json |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
{
"id": 10000,
"name": "Board",
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84/config",
"location": {
"type": "project",
"key": "PROJ",
"id": "10010",
"self": "https://your-domain.atlassian.net/rest/api/3/project/10010",
"name": "name"
},
"filter": {
"id": "1001",
"self": "https://your-domain.atlassian.net/filter/1001"
},
"columnConfig": {
"columns": [
{
"name": "To Do",
"statuses": [
{
"id": "1",
"self": "https://your-domain.atlassian.net/status/1"
},
{
"id": "4",
"self": "https://your-domain.atlassian.net/status/4"
}
]
},
{
"name": "In progress",
"statuses": [
{
"id": "3",
"self": "https://your-domain.atlassian.net/status/3"
}
],
"min": 2,
"max": 4
},
{
"name": "Done",
"statuses": [
{
"id": "5",
"self": "https://your-domain.atlassian.net/status/5"
}
]
}
],
"constraintType": "issueCount"
},
"estimation": {
"type": "field",
"field": {
"fieldId": "customfield_10002",
"displayName": "Story Points"
}
},
"ranking": {
"rankCustomFieldId": 10020
}
}
GET /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.
Connect app scope required: READ
read:epic:jira-software
integer
The ID of the board that contains the requested epics.
int64
integer
The starting index of the returned epics. Base index: 0. See the 'Pagination' section at the top of this page for more details.
int64
integer
The maximum number of epics to return per page. See the 'Pagination' section at the top of this page for more details.
int32
string
Filters results to epics that are either done or not done. Valid values: true, false.
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/epic' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested epics, at the specified page of the results.
Content type | Value |
---|---|
application/json | anything |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
{
"maxResults": 2,
"startAt": 1,
"total": 5,
"isLast": false,
"values": [
{
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/23",
"name": "epic 1",
"summary": "epic 1 summary",
"color": {
"key": "color_4"
},
"done": true
},
{
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/13",
"name": "epic 2",
"summary": "epic 2 summary",
"color": {
"key": "color_2"
},
"done": false
}
]
}
GET /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.
Connect app scope required: READ
read:epic:jira-software
read:issue-details:jira
, read:jql:jira
integer
The ID of the board that contains the requested issues.
int64
integer
The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.
int64
integer
The maximum number of issues to return per page. 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.
int32
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.
Note that username
and userkey
can't be used as search terms for this parameter due to privacy reasons. Use accountId
instead.
boolean
Specifies whether to validate the JQL query or not. Default: true.
Array<object>
The list of fields to return for each issue. By default, all navigable and Agile fields are returned.
string
A comma-separated list of the parameters to expand.
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/epic/none/issue' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested issues, at the specified page of the results.
Content type | Value |
---|---|
application/json | anything |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "",
"id": "10001",
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001",
"key": "HSP-1",
"fields": {
"flagged": true,
"sprint": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/sprint/13",
"state": "future",
"name": "sprint 2",
"goal": "sprint 2 goal"
},
"closedSprints": [
{
"id": 37,
"self": "https://your-domain.atlassian.net/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",
"goal": "sprint 1 goal"
}
],
"description": "example bug report",
"project": {
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"id": "10000",
"key": "EX",
"name": "Example",
"avatarUrls": {
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"
},
"projectCategory": {
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000",
"id": "10000",
"name": "FIRST",
"description": "First Project Category"
},
"simplified": false,
"style": "classic",
"insight": {
"totalIssueCount": 100,
"lastIssueUpdateTime": "2022-11-15T23:15:20.052+0000"
}
},
"comment": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}
]
}
]
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"created": "2021-01-17T12:34:00.000+0000",
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "role",
"value": "Administrators",
"identifier": "Administrators"
}
}
],
"epic": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/23",
"name": "epic 1",
"summary": "epic 1 summary",
"color": {
"key": "color_4"
},
"done": true
},
"worklog": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "I did some work here."
}
]
}
]
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "group",
"value": "jira-developers",
"identifier": "276f955c-63d7-42c8-9520-92d01dca0625"
},
"started": "2021-01-17T12:34:00.000+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
}
}
}
]
}
GET /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.
Connect app scope required: READ
read:epic:jira-software
read:issue-details:jira
, read:jql:jira
integer
The ID of the board that contains the requested issues.
int64
integer
The ID of the epic that contains the requested issues.
int64
integer
The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.
int64
integer
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.
int32
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.
boolean
Specifies whether to validate the JQL query or not. Default: true.
Array<object>
The list of fields to return for each issue. By default, all navigable and Agile fields are returned.
string
A comma-separated list of the parameters to expand.
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/epic/{epicId}/issue' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested issues, at the specified page of the results.
Content type | Value |
---|---|
application/json | anything |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "",
"id": "10001",
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001",
"key": "HSP-1",
"fields": {
"flagged": true,
"sprint": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/sprint/13",
"state": "future",
"name": "sprint 2",
"goal": "sprint 2 goal"
},
"closedSprints": [
{
"id": 37,
"self": "https://your-domain.atlassian.net/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",
"goal": "sprint 1 goal"
}
],
"description": "example bug report",
"project": {
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"id": "10000",
"key": "EX",
"name": "Example",
"avatarUrls": {
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"
},
"projectCategory": {
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000",
"id": "10000",
"name": "FIRST",
"description": "First Project Category"
},
"simplified": false,
"style": "classic",
"insight": {
"totalIssueCount": 100,
"lastIssueUpdateTime": "2022-11-15T23:15:20.052+0000"
}
},
"comment": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}
]
}
]
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"created": "2021-01-17T12:34:00.000+0000",
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "role",
"value": "Administrators",
"identifier": "Administrators"
}
}
],
"epic": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/23",
"name": "epic 1",
"summary": "epic 1 summary",
"color": {
"key": "color_4"
},
"done": true
},
"worklog": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "I did some work here."
}
]
}
]
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "group",
"value": "jira-developers",
"identifier": "276f955c-63d7-42c8-9520-92d01dca0625"
},
"started": "2021-01-17T12:34:00.000+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
}
}
}
]
}
GET /rest/agile/1.0/board/{boardId}/features
Connect app scope required: READ
read:board-scope.admin:jira-software
integer
int64
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/features' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
200 response
Content type | Value |
---|---|
application/json |
PUT /rest/agile/1.0/board/{boardId}/features
Connect app scope required: WRITE
write:board-scope.admin:jira-software
integer
int64
integer
int64
string
boolean
1 2 3 4 5 6 7 8 9 10
curl --request PUT \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/features' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"boardId": 2154,
"feature": "<string>",
"enabling": true
}'
200 response
Content type | Value |
---|---|
application/json |
GET /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. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the scrum boards. 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.
Connect app scope required: READ
read:board-scope:jira-software
read:issue-details:jira
integer
The ID of the board that contains the requested issues.
int64
integer
The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for more details.
int64
integer
The maximum number of issues to return per page. 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.
int32
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.
Note that username
and userkey
can't be used as search terms for this parameter due to privacy reasons. Use accountId
instead.
boolean
Specifies whether to validate the JQL query or not. Default: true.
Array<object>
The list of fields to return for each issue. By default, all navigable and Agile fields are returned.
string
This parameter is currently not used.
1 2 3 4
curl --request GET \
--url 'https://your-domain.atlassian.com/rest/agile/1.0/board/{boardId}/issue' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
Returns the requested issues, at the specified page of the results.
Content type | Value |
---|---|
application/json |
Example response (application/json)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "",
"id": "10001",
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001",
"key": "HSP-1",
"fields": {
"flagged": true,
"sprint": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/sprint/13",
"state": "future",
"name": "sprint 2",
"goal": "sprint 2 goal"
},
"closedSprints": [
{
"id": 37,
"self": "https://your-domain.atlassian.net/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",
"goal": "sprint 1 goal"
}
],
"description": "example bug report",
"project": {
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"id": "10000",
"key": "EX",
"name": "Example",
"avatarUrls": {
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"
},
"projectCategory": {
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000",
"id": "10000",
"name": "FIRST",
"description": "First Project Category"
},
"simplified": false,
"style": "classic",
"insight": {
"totalIssueCount": 100,
"lastIssueUpdateTime": "2022-11-15T23:15:20.052+0000"
}
},
"comment": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}
]
}
]
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"created": "2021-01-17T12:34:00.000+0000",
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "role",
"value": "Administrators",
"identifier": "Administrators"
}
}
],
"epic": {
"id": 37,
"self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/23",
"name": "epic 1",
"summary": "epic 1 summary",
"color": {
"key": "color_4"
},
"done": true
},
"worklog": [
{
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000",
"author": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"updateAuthor": {
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g",
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Mia Krystof",
"active": false
},
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "I did some work here."
}
]
}
]
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"type": "group",
"value": "jira-developers",
"identifier": "276f955c-63d7-42c8-9520-92d01dca0625"
},
"started": "2021-01-17T12:34:00.000+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
}
}
}
]
}
POST /rest/agile/1.0/board/{boardId}/issue
Move issues from the backog to the board (if they are already in the backlog of that board).
This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board) Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at once.
Connect app scope required: WRITE
write:board-scope:jira-software