Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Abstract

This code snippet fetches the current active sprint of a Scrum board.

...

Code Block
languagegroovy
linenumberstrue
import com.atlassian.greenhopper.service.rapid.view.RapidViewService
import com.atlassian.greenhopper.service.sprint.SprintService
import com.atlassian.greenhopper.service.PageRequests
import com.atlassian.greenhopper.service.sprint.SprintQuery
import com.atlassian.greenhopper.service.sprint.Sprint
import com.atlassian.greenhopper.service.sprint.Sprint.State

def boardId = <Board Id>
def board = getComponent(RapidViewService).getRapidView(currentUser, boardId).get()
def SprintService = getComponent(SprintService)
def State = Sprint.getClasses()[1]

def sprintQuery = SprintQuery.builder().states(Collections.singleton(State.ACTIVE)).build()
def sprintsOutcome = SprintService.getSprints(currentUser, board, PageRequests.all(), sprintQuery)

if (sprintsOutcome.isInvalid()){
  throw new UnsupportedOperationException(sprintsOutcome.toString())
}
def sprints = sprintsOutcome.get().getValues()

if (sprints.size() == 0){
  throw new UnsupportedOperationException("No active sprints")
}
if (sprints.size() > 1){
  throw new UnsupportedOperationException("More than one sprint is active")
}
return sprints[0].getId()

...

Placeholder
Description
Example
<Board Id>

Numerical ID of the Scrum board

2

Examples

The outcome of the code snippet is the current active sprint of the board which you could use to set the Sprint of an issue in one of the Set field value post-functions for example to Add the issue to the current active sprint.

References

...