Hi there!
I'm trying to get an active sprint name from a given board in the post-function and write a sprint name to a custom field.
Here is the script that I use in the post-function:
import com.atlassian.greenhopper.service.rapid.view.RapidViewService
import com.atlassian.greenhopper.service.sprint.SprintIssueService
import com.atlassian.greenhopper.service.sprint.SprintManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.onresolve.scriptrunner.runner.customisers.JiraAgileBean
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
/**
* Configurable section
*/
// Enter the name of the board to which you want to add the issue to the first active sprint
def rapidBoardId = 619
def cfm = ComponentAccessor.getCustomFieldManager()
def item = cfm.getCustomFieldObjectByName("Item")
def active
log.error("item: " + item)
@WithPlugin("com.pyxis.greenhopper.jira")
@JiraAgileBean
RapidViewService rapidViewService
@JiraAgileBean
SprintIssueService sprintIssueService
@JiraAgileBean
SprintManager sprintManager
Issue issue = ComponentAccessor.getIssueManager().getIssueObject("your issue key")
def loggedInUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def view = rapidViewService.getRapidView(loggedInUser, rapidBoardId).getValue()
if (! view) {
log.warn("No view with this ID found")
return
}
def sprints = sprintManager.getSprintsForView(view).getValue()
def activeSprint = sprints.find { it.active }
log.debug activeSprint
if (activeSprint) {
active = activeSprint.name
issue.setCustomFieldValue(item, active)
}
else {
log.info ("No active sprints were found for board: ${view.name}")
}
As a result of post-function I get an error:
2018-12-12 04:19:57,388 ERROR [workflow.ScriptWorkflowFunction]: Script function failed on issue: SM-964, actionId: 61, file: <inline script>
java.lang.NullPointerException: Cannot invoke method setCustomFieldValue() on null object
at Script126.run(Script126.groovy:51)
Please help me to understand what is wrong in the script ans how to make it work.
Thank you!