Apis related to sprints
Creates a future sprint. Sprint name and origin board id are required. Start date, end date, and goal are optional. Note that the sprint name is trimmed. Also, when starting sprints from the UI, the "endDate" set through this call is ignored and instead the last sprint's duration is used to fill the form.
write:sprint:jira-software
Connect app scope required: WRITE
string
string
string
integer
string
Created sprint
any
1
2
3
4
5
6
7
8
9
10
11
12
curl --request POST \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"endDate": "2015-04-20T01:22:00.000+10:00",
"goal": "sprint 1 goal",
"name": "sprint 1",
"originBoardId": 5,
"startDate": "2015-04-11T15:22:00.000+10:00"
}'
1
2
3
4
5
6
7
8
9
10
{
"id": 37,
"self": "https://your-domain.atlassian.net/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": "sprint 1 goal"
}
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.
read:sprint:jira-software
Connect app scope required: READ
integer
RequiredReturns the requested sprint.
any
1
2
3
4
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
{
"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",
"originBoardId": 5,
"goal": "sprint 1 goal"
}
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:
write:sprint:jira-software
Connect app scope required: WRITE
integer
Requiredstring
string
string
string
integer
string
integer
string
string
string
Updated sprint
any
1
2
3
4
5
6
7
8
9
10
11
12
13
curl --request PUT \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"completeDate": "2015-04-20T11:11:28.008+10:00",
"endDate": "2015-04-16T14:01:00.000+10:00",
"goal": "sprint 1 goal",
"name": "sprint 1",
"startDate": "2015-04-11T15:36:00.000+10:00",
"state": "closed"
}'
1
2
3
4
5
6
7
8
9
10
11
{
"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",
"originBoardId": 5,
"goal": "sprint 1 goal"
}
Performs a partial update of a sprint. A partial update means that fields not present in the request JSON will not be updated.
Notes:
write:sprint:jira-software
Connect app scope required: WRITE
integer
Requiredstring
string
string
string
integer
string
integer
string
string
string
Updated sprint
any
1
2
3
4
5
6
7
8
curl --request POST \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"name": "new name"
}'
1
2
3
4
5
6
7
8
9
10
11
{
"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",
"originBoardId": 5,
"goal": "sprint 1 goal"
}
Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog.
delete:sprint:jira-software
Connect app scope required: DELETE
integer
RequiredReturned if the sprint was deleted successfully
1
2
3
curl --request DELETE \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}' \
--header 'Authorization: Bearer <access_token>'
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.
read:sprint:jira-software
read:issue-details:jira
, read:jql:jira
Connect app scope required: READ
integer
Requiredinteger
integer
string
boolean
array<object>
string
Returns the requested issues, at the specified page of the results.
any
1
2
3
4
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/issue' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: 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
{
"expand": "",
"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": {
"avatarUrls": {
"16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000",
"24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000",
"32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000",
"48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000"
},
"id": "10000",
"insight": {
"lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000",
"totalIssueCount": 100
},
"key": "EX",
"name": "Example",
"projectCategory": {
"description": "First Project Category",
"id": "10000",
"name": "FIRST",
"self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"
},
"self": "https://your-domain.atlassian.net/rest/api/3/project/EX",
"simplified": false,
"style": "classic"
},
"comment": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"body": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}
]
}
]
},
"created": "2021-01-17T12:34:00.000+0000",
"id": "10000",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000",
"updateAuthor": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"identifier": "Administrators",
"type": "role",
"value": "Administrators"
}
}
],
"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": [
{
"author": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"comment": {
"type": "doc",
"version": 1,
"content": [
{
"type": "paragraph",
"content": [
{
"type": "text",
"text": "I did some work here."
}
]
}
]
},
"id": "100028",
"issueId": "10002",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000",
"started": "2021-01-17T12:34:00.000+0000",
"timeSpent": "3h 20m",
"timeSpentSeconds": 12000,
"updateAuthor": {
"accountId": "5b10a2844c20165700ede21g",
"active": false,
"displayName": "Mia Krystof",
"self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"
},
"updated": "2021-01-18T23:45:00.000+0000",
"visibility": {
"identifier": "276f955c-63d7-42c8-9520-92d01dca0625",
"type": "group",
"value": "jira-developers"
}
}
],
"updated": 1,
"timetracking": {
"originalEstimate": "10m",
"originalEstimateSeconds": 600,
"remainingEstimate": "3m",
"remainingEstimateSeconds": 200,
"timeSpent": "6m",
"timeSpentSeconds": 400
}
},
"id": "10001",
"key": "HSP-1",
"self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001"
}
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.
write:sprint:jira-software
Connect app scope required: WRITE
integer
Requiredarray<string>
string
string
integer
Empty response is returned if operation was successful.
1
2
3
4
5
6
7
8
9
10
11
12
13
curl --request POST \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/issue' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"issues": [
"PR-1",
"10001",
"PR-3"
],
"rankBeforeIssue": "PR-4",
"rankCustomFieldId": 10521
}'
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.
read:sprint:jira-software
Connect app scope required: READ
string
RequiredReturned if the sprint with given id exists.
any
1
2
3
4
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/properties' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
{
"keys": [
{
"key": "issue.support",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support"
}
]
}
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.
read:sprint:jira-software
Connect app scope required: READ
string
Requiredstring
RequiredReturned if the sprint exists and the property was found.
any
1
2
3
4
curl --request GET \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
{
"key": "issue.support",
"value": {
"system.conversation.id": "b1bf38be-5e94-4b40-a3b8-9278735ee1e6",
"system.support.time": "1m"
}
}
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.
write:sprint:jira-software
Connect app scope required: WRITE
string
Requiredstring
RequiredThe value of the property. The value has to be a valid, non-empty JSON value. The maximum length of the property value is 32768 bytes.
any
Returned if the sprint property is successfully updated.
any
1
2
3
4
5
6
curl --request PUT \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{}'
Removes the property from the sprint identified by the id. Ths user removing the property is required to have permissions to modify the sprint.
delete:sprint:jira-software
Connect app scope required: DELETE
string
Requiredstring
RequiredReturned if the sprint property was removed successfully.
1
2
3
curl --request DELETE \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/properties/{propertyKey}' \
--header 'Authorization: Bearer <access_token>'
Swap the position of the sprint with the second sprint.
write:sprint:jira-software
Connect app scope required: WRITE
integer
Requiredinteger
Returned if the sprint swap was performed successfully
1
2
3
4
5
6
7
curl --request POST \
--url 'https://your-domain.atlassian.net/rest/agile/1.0/sprint/{sprintId}/swap' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"sprintToSwapWith": 3
}'
Rate this page: