ScriptRunner change transition on post-function

Paul Stahlke May 3, 2019

Is it possible with ScriptRunner to change the transition destination within a post-function based on a field value?

For example, let's say the transition is from Backlog -> Approved, but if there is a custom field "Target" set to "2020", can I have the post-function redirect the issue to a different status "Escalation" instead of going to "Approved".

I'm thinking it would be some variation of this code below used to transition sub-tasks, but before I get into the weeds on it, I wonder if it's possible to change the transition destination of the current issue like that using a post-function.

import com.atlassian.jira.component.ComponentAccessor

def issueService = ComponentAccessor.getIssueService()
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

def subTasks = issue.getSubTaskObjects()
subTasks.each {
if (it.statusObject.name == "Open") {
def issueInputParameters = issueService.newIssueInputParameters()
issueInputParameters.with {
setResolutionId("1") // resolution of "Fixed"
setComment("*Resolving* as a result of the *Resolve* action being applied to the parent.")
setSkipScreenCheck(true)
}

// validate and transition subtask
def validationResult = issueService.validateTransition(user, it.id, 5, issueInputParameters)
if (validationResult.isValid()) {
def issueResult = issueService.transition(user, validationResult)
if (! issueResult.isValid()) {
log.warn("Failed to transition subtask ${it.key}, errors: ${issueResult.errorCollection}")
}
} else {
log.warn("Could not transition subtask ${it.key}, errors: ${validationResult.errorCollection}")
}
}
}

 

2 answers

0 votes
Antoine Berry
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 9, 2019

Hi @Paul Stahlke ,

You can trigger a transition using a scriptrunner postfunction, but it will not override the current transition. Make sure you are executing the script after the "Set issue status to the linked status of the destination workflow step" postfunction.

Antoine 

0 votes
Tom Lister
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 4, 2019

Hi @Paul Stahlke 

It is possible as the plugin Jira Miscellaneous Workflow Extensions provides a conditional issue tranistion post function. The transitions must exist in workflow.

go for it and share your answer

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events