get parent subtasks and return true if all subtasks have a status

Ricardo Silva September 24, 2015

I'm trying to make a script that gets the parent subtasks list and check if all the subtasks have the status as 'Resolved' and if so it returns true.
I’m trying to implement this at the post function Conditional execution:  Only if condition is true

I’ve just started to work with groovy so i'm little clueless

that's what I’ve came up with but it doesn't work

import com.atlassian.jira.ComponentManager
import com.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;

boolean canResolve = true;
Collection subTasks = issue.getParentObject().getSubTaskObjects();

for(subtask in subTasks) {
        String status = subtask.getStatusObject().getSimpleStatus().getName();
        if(status != "RESOLVED") //also tried with "Resolved"

          canResolve = false;

        }

return canResolve;

EDIT: the purpose is to transition the parent issue to resolved only when all subtasks are resolved

1 answer

0 votes
Joe Pitt
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
September 24, 2015

What is the purpose? You can restrict a transition to only be available if all subtasks are resolved by using the sub-task blocking condition. See https://confluence.atlassian.com/jira/configuring-sub-tasks-185729507.html

Suggest an answer

Log in or Sign up to answer