Is it possible to get a list of sprints for a particular project ? I know there is a way to find issues by a sprint, but haven't found any way to get all the sprints.
I use the following rest call to find all the sprints:
To find only the open sprint of the project I run this: https://yourjira.com/rest/greenhopper/1.0/integration/teamcalendars/sprint/list?jql=project+%3D+YOURPROJECTKEY+and+Sprint+not+in+closedSprints()
In JQL it's not yet possible but you can use the new jira agile API. Here is the documentation for jira cloud and for jira server 7.2.3.
First, you need to find the board of your project. This REST endpoint to get the list of your boards is:
[jira-url]/rest/agile/1.0/board
Next you can get their project with:
[jira-url]/rest/agile/1.0/[board-id]/project
So in this manner you can find the board id of your project. At the end, you can get the sprints list of this board with:
[jira-url]/rest/agile/1.0/[board-id]/sprint
[jira-url]/rest/greenhopper/1.0/sprint/picker
Delivers "allMatches" array containing active sprints including id and boardName.
It was useful to me when i was searching a list of active sprints in all projects to clean up not completed or not well named sprints.
Based on this answer: answers.atlassian.com/questions/65920/answers/3599592, the best Web API to get the list of sprints is:
https://<your_site>/rest/greenhopper/1.0/sprintquery/<rapidBoardId>?includeFutureSprints=true&includeHistoricSprints=false
<rapidBoardId>
is different in each system, I just saw it in the address bar of my browser when I was surfing in JIRA, then I hard coded it into the code which is calling the API.
https://<your_site>/secure/RapidBoard.jspa?rapidView=<rapidBoardId is here on your browser address bar>
There is no REST endpoint to do this, you can only query the sprints that are visible for a particular Rapid Board and you need to use the GreenHoppper plugin for this.
The endpoint for that is: https://yourjira.com/rest/greenhopper/1.0/sprints/{rapidBoardId}
You can enumerate the Rapid Boards at another REST endpoint: https://yourjira.com/rest/greenhopper/1.0/rapidviews/list
Read more here: https://answers.atlassian.com/questions/65920/how-can-i-list-all-sprints-from-greenhopper-using-the-rest-api
There is no straightforward solution, only workarounds. What is ridiculous why Jira doesn't provide such API calls.
You can use this endpoint:
https://api.atlassian.com/ex/jira/{cloudId}/rest/api/2/jql/autocompletedata/suggestions?fieldName=Sprint&fieldValue=
Take notice of whitespace character on the end of query. It implies that every name of sprint includes whitespace char inside.
Output:
{
"results": [
{
"value": "2",
"displayName": "Sprint 4 - 2020-06-17 04:00 (12)"
},
{
"value": "1",
"displayName": "Sprint 2 - 2020-06-20 06:45 (6)"
}
}
I did not invent this, a colleague did. However, you can easily access all of the sprints in the "search issues" screen by using this JQL: Sprint is not EMPTY
That's it. Enjoy.
Have you looked at the sprint report? The dropdown will show you a list of all sprints for that board. Of course you can have multiple boards per project, so you might need to search all related boards.
Here is my solution.
- call
rest/api/2/search?jql=project%20%3D%20ABCD%20AND%20Sprint%20in%20openSprints()
to get the issues in current active sprint. Then you could get the active sprint. - make another call
rest/api/2/search?jql=Sprint%20%3D%2014343
to get the issues.
Below the code to parse the active sprint.
fetch(sprintUrl, {
headers: requestHeader,
})
.then((res) => res.json())
.then((data) => {
const regex = new RegExp("state=ACTIVE");
let activeSprint = data.issues[0].fields.customfield_14400.filter(
(e: string) => regex.test(e)
)[0];
const sprintParser =
/id=(\d+).*?name=(.*?),startDate=([\d-]+).*?endDate=([\d-]+)/g;
const group = [...activeSprint.matchAll(sprintParser)][0];
setSprint(
Object.create({
id: parseInt(group[1]),
name: group[2],
startDate: group[3],
endDate: group[4],
})
);
});
© 2022 - 2024 — McMap. All rights reserved.