Let me explain my current situation.
I have 2 workflows defined for a Kanban Project:
My question is.
How can I define a Post Function Custom Script to automatically transition the Report Subtask when the other subtasks are resolved?
Do I need to create a link between the subtasks when they are created?
I made a research in the community and didn't found a something like this
Please make it as simple (for dummies) as possible.
So I got no answers but I found a solution if anybodyelse requires it:
I added the following Custom Scripted PostFunction in the transition from "REVIEW" to "DEFINED":
/**
*The script transitions the subtask "Report" when the subtask "A" transitions to Defined
*/
//Required Imports
import com.atlassian.jira.component.ComponentAccessor;
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.*;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.CustomFieldManager;
import org.apache.log4j.Category
import com.opensymphony.workflow.WorkflowContext;
import com.atlassian.jira.event.type.EventDispatchOption
//Variables
String currentuser = ((WorkflowContext) transientVars.get("context")).getCaller()
SubTaskManager subTaskManager = ComponentAccessor.getSubTaskManager();
if (issue.getIssueType().getId() == "55")//55 is ID for "A" subtask issue type
{
MutableIssue parent = issue.getParentObject() as MutableIssue;
WorkflowTransitionUtil workflowTransitionUtil = (WorkflowTransitionUtil) JiraUtils.loadComponent(WorkflowTransitionUtilImpl.class)
Collection<Issue> subTaskList = subTaskManager.getSubTaskObjects(parent);
Iterator<Issue> iterator = subTaskList.iterator();
while(iterator.hasNext())
{
Issue subTaskObj = iterator.next();
if (subTaskObj.getIssueType().getId() == "59" || subTaskObj.getStatus().getId() == "26")//59 is the ID for "Report" subtask issue type & 26 is the ID for the status "Open"
{
workflowTransitionUtil.setIssue((MutableIssue) subTaskObj)
workflowTransitionUtil.setUserkey(currentuser)
workflowTransitionUtil.setAction(21)//21 is the transition ID from "Open" to "A - Defined"
workflowTransitionUtil.validate()
workflowTransitionUtil.progress()
}
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.