Get target status by source status and action

Oleg Dmitriev March 24, 2020

How can I get a target status, if I have source status, action and workflow?

 

1 answer

1 vote
Oleg Dmitriev March 26, 2020

Found solution for workflow functions

```groovy

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.config.ConstantsManager
import com.atlassian.jira.workflow.ImmutableWorkflowDescriptor
import com.atlassian.jira.workflow.JiraWorkflow
import com.atlassian.jira.workflow.WorkflowManager
import com.atlassian.jira.web.action.admin.workflow.ViewWorkflowStep
import com.opensymphony.workflow.loader.ActionDescriptor

Closure transition = {
String sourceStatus = issue.status.name
JiraWorkflow workflow = ComponentAccessor.getWorkflowManager().getWorkflow(issue)
ImmutableWorkflowDescriptor workflowDescriptor = workflow.getDescriptor()
String actionName = workflowDescriptor.getAction(transientVars.actionId as int).getName()
ActionDescriptor actionDescriptor = workflow.getActionsByName(actionName).getAt(0)
Integer nextSymphonyStepId = actionDescriptor.getUnconditionalResult().getStep()
String nextStatus = workflow.getDescriptor().getStep(nextSymphonyStepId).name
return (List) [sourceStatus, actionName, nextStatus]
}
```

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events