Script Runner Transition linked parent issue based on status

We need to be able to transition a linked parent issue based on the status of the child. We are not using a sub-task.

How can I incorporate the transition to review link type? I've created a combination of a condition script we use for links and then a transition script we use. I know this won't work in it's current state but am I even close? @Jamie Echlin [Adaptavist]

Summary of what we're trying to do:

If linked issue (child link) is transitioned to Defect status, transition parent linked issue to Triage status.

// Required Imports
import com.opensymphony.workflow.WorkflowContext;
import com.atlassian.jira.config.SubTaskManager;
import com.atlassian.jira.workflow.WorkflowTransitionUtil;
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl;
import com.atlassian.jira.util.JiraUtils;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.component.ComponentAccessor

def linkType = ["Dependency"]
def passesCondition = true
def linkMgr = ComponentAccessor.getIssueLinkManager()
for (IssueLink link in linkMgr.getOutwardLinks( {
   if (linkType.contains( {
       if (! link.destinationObject.resolutionId) {
           passesCondition = false 

return passesCondition

    // Get the details of the user executing the workflow transition for the issue change history
String currentUser = ((WorkflowContext) transientVars.get("context")).getCaller()
WorkflowTransitionUtil workflowTransitionUtil = (WorkflowTransitionUtil) JiraUtils.loadComponent(WorkflowTransitionUtilImpl.class)

MutableIssue parent = issue.getIssueLink("Dependency") as MutableIssue

    // Get the status name of the parent issue  
String originalParentStatus = parent.status?.name

def isParentTesting = originalParentStatus in ['Testing']

    // Update the issue by validating the transition can be completed first before executing it.
if (isParentTesting) {
    workflowTransitionUtil.setAction(71) // 71 is the ID of the Triage transition on the Story workflow
    if (workflowTransitionUtil.validate()) {

6 answers

I asked the same question couple of weeks ago


  • Still waiting on that





@Chander Inguva - you're not waiting, we answered it.

@Josh Costella - when do you want this to happen? As we said to Chander, it's not possible to trigger it based on a link being added, but you could trigger it on state change or something.

@Jamie Echlin [Adaptavist] - When = The linked issue (child) is transitioned to a certain point in its workflow. This would then transition the linked parent issue to a certain point it its workflow.

So you just need to follow the link from child to parent - I'm not sure which bit you're stuck with, you seem to have most of the relevant code.

@Jamie Echlin [Adaptavist], I'm concerned because this is technically a combination of a condition script and post-function. This will be used as a post-function so I want to make sure the condition portion won't cause this to fail.

It will be fine if you write the condition safely. It should not cause other post-functions to fail anyway IIRC. You can always put it in try/catch...

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 27, 2018 in Portfolio for Jira

Introducing a new planning experience in Portfolio for Jira (Server/DC)

In the past, Portfolio for Jira required a high degree of detail–foresight that was unrealistic for many businesses to   have–in   order to produce a reliable long-term roadmap. We're tur...

2,719 views 17 21
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