Parent Issue Automatic Transition Change when Child Issues are Resolved

Raj_253 August 7, 2022

Parent Issue Automatic Transition Change when Child Issues are Resolved.

Using Jira Data Center Version.

2 answers

0 votes
Bharathi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 8, 2022

Hello @Raj_253,

You can use any plug-in's functionality to write a script for this to work. Different plug-ins like Scriptrunner/ JMWE/ cPrime Power Scripts, etc., offer this functionality. Based on the available plug-in in your Jira instance, you can take a look at the corresponding plug-in's documentation to pull the script.

Hope this helps!

Thanks!

0 votes
Raj_253 August 7, 2022

import com.atlassian.jira.ComponentManager;
importcom.atlassian.jira.issue.comments.CommentManager;
import com.opensymphony.workflow.WorkflowContext;
import org.apache.log4j.Category;
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;

log =Category.getInstance(“com.onresolve.jira.groovy.AutoCloseChildIssues”);String currentUser =((WorkflowContext) transientVars.get(“context”)).getCaller();WorkflowTransitionUtil workflowTransitionUtil =(WorkflowTransitionUtil)JiraUtils.loadComponent(WorkflowTransitionUtilImpl.class);MutableIssue parent = issue.getParentObject();SubTaskManager subTaskManager =ComponentManager.getInstance().getSubTaskManager();Collection subTasks = parent.getSubTaskObjects();if(subTaskManager.subTasksEnabled){boolean transitionParent =true;for(subtask in subTasks){String status = subtask.getStatusObject().getSimpleStatus().getName();if(status !=”Resolved”&& status !=”Testing”&& status !=”Waiting For Approval”&& status !=”Closed”&& status !=”Approved”){
transitionParent =false;}}if(transitionParent){
workflowTransitionUtil.setIssue(parent);
workflowTransitionUtil.setUserkey(currentUser);
workflowTransitionUtil.setAction(5);
workflowTransitionUtil.validate();
workflowTransitionUtil.progress();}}

Suggest an answer

Log in or Sign up to answer