Goal: If any sub-task of a parent issue transitions to DENIED, the parent issue also auto-transitions to DENIED. They are using different workflows, however both workflows have a transition called "Deny request" that goes to status "DENIED".
I've added the following script (source) as a post function on my sub-task workflow's "Deny request" transition. The script in its copy-pasted state (meaning it uses 11 as the ID for setAction()) successfully transitions the parent issue to APPROVED when I execute the sub-task's "Deny request" transition. I'd like it to do essentially the same thing but instead of APPROVED, I'd like it to transition to DENIED.
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; 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() as MutableIssue; workflowTransitionUtil.setIssue(parent); workflowTransitionUtil.setUserkey(currentUser); workflowTransitionUtil.setAction(11); // when I change this to workflowTransitionUtil.setAction(21); I get the error workflowTransitionUtil.validate(); workflowTransitionUtil.progress();
These two transitions, Approve request (id = 11) and Deny request (id = 21), exist in both the parent issue and sub-task workflows.
When I change setAction(11) to setAction(21), and try to execute "Deny request", I get the following error.
Is it a coincidence that setAction(11) happens to share an id with my Approve request transition? Or is that saying, "execute transition with id 11"? I'm confused why 11 works but not 21, when they are both transitions in my workflow.
It seems like replacing 11 with 21 should cause it to execute the parent's "Deny request" transition, since it successfully does the "Approve request" transition using 11.
Thanks in advance.
I have multiple projects that use variations of the same base workflow. The variations depend on the requirements of the project or issue type. The variations mostly come in the form of new statuses ...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events