Greenhopper API for sprints not started

I'm able to use GET /sprints/{rapidViewId} to retrieve a list of sprints for a list of current and past sprints on a board. But it doesn't include sprints created but not started. Is there any way to retrieve those as well?

8 answers

1 vote

As I mentioned earlier, the stories/bugs that are currently planned in the non-active sprint are marked in the issueranking table. How? You can see in the NEXT_ID or ISSUE_ID of negative value.

Basically, the ISSUE_ID with -2 represents that the issue is being rank in the sprintMarkerId = 2. It's pretty confusing to read the ranking table, might want to create a script for that where the NEXT_ID represent what should the next ISSUE_ID be on the rank.

As for the moment, I can't find any REST API call for sprintMarkerId. Perhaps you might need to pull the information from the database for this one.

I'm interested on this one as well, hence have been looking into this whenever I'm free. :)

Interested in this as well... Our stakeholders want visibility into what's coming up (across 6 projects) - something more than looking at 6 boards separately.

Oh, and a related question is, how may I retrieve the name of a sprint from it's id?

I see that I can retrieve sprint id's from a custom field on the issues. But there doesn't appear to be any GET request for a sprint with its id.

So how may I retrieve a sprint name for an unstarted sprint?

If you have a sprintId, you can use


to get all kinds of information about a sprint (including name). If you don't have SprintId, you can use:


to get all the sprints defined for a RapidView board.

My tests show that the ".../1.0/sprints/{id}" API does not return upcoming sprints - only "open" (the current) or closed (past) sprints.

As far as I know, the not started sprints are not yet considered "sprints" by Greenhopper. They are just markers. Real "sprints" are considered only the started and closed ones.

That said, what I did when I needed to analyze a bit the issues in the upcoming sprints, was to get the rapidview id using


and the based on the id's there I send an request in order to fetch


This request can be sent in a number of ways, but you need to do it using a browser/browser emulator since you need it to run js. For Java you can try htmlunit but I went with running a phantomJS script.

then it is straightforward to grab the not started sprint titles and issues from the markup (either is is java, php or I don't know what else).

Lastly you can run


which required the issueId or key (got in the second step), rapidviewId (got in the first step) and also a boolean for fetching the subtasks (which is really usefull since the subtasks are not visible in the markup).

Needless to say this approach has many many issues, like safety, since you need to hardcode some credentials when sending the GET request to get the backlog page and of course html scrapping is not how you should be getting this info, but as far as I can tell there is not a better way right now.

When planning a sprint, there won't be any ID given to the sprint yet and none is created in GH's sprint table. The issues that are being planned in the sprint that has not yet being started are marked in the GH's issueranking table.

Thanks for the response, Zulfadll.

What I'm not clear on from your response is: Is there a way I access the issueranking table through the Greenhopper or Jira API and reconstruct the unstarted sprints I see in the Greenhopper UI?

thanks again.

Not sure I'm buying the comment. Somewhere, the system is retaining the grouping and the name of the unstarted sprint. Sure, the ID hasn't yet been assigned (or at least the response from /rest/greenhopper/1.0/sprints API doesn't include it), but the definition and name of the unstarted sprint is still persistently stored somewhere in the system, which means it should be accessible...

just my $0.02.

Found out that the marker for the sprint is stored in the sprintmarker table. This sprintMarkerId will then be used for creating the sprint.

Peter, with your $0.02, aren't you buying it? ;-)

my point (sorry) - rank alone doesn't seem to do it... there's also the name of the as yet unstarted sprint and the list of stories targeted for that upcoming sprint... somewhere, there's a persistent list, more than can be inferred from a set of rankings...

so, no, rank doesn't seem to answer the question in my book.

I agree with Peter. But if the issueranking table they mention is actually a db table, then you can access it and that would be probably better than my method described above (or maybe I am wrong)!

Still, Joe's original question is quite clear: Can we access the non-started sprints? And still there is no clear answer from Atlassian.

Zulfadli - good to hear the information is persisted somewhere - question now becomes - how is sprintMarkerId associated with a list of stories/bugs (sprint contents). Does a story/bug have a sprintMarkerId field (or sprintId - indicating a story/bug can be in exactly one sprint), or is there some other mapping? Other question is - is the SprintMarker table available via the REST API? The only REST API reference I see is /sprint/create/model - though it's intent/purpose is completely lost on me.

thnaks for your persistence!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Jan 29, 2019 in Jira Software

Transforming Jira Software projects for general project management purposes

...It's true that there are projects in Jira; but they are merely a way to cut off issues, to tell them apart from other sections of work and to apply rules that are specific to that team (the schemes)....

206 views 0 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you