PageRenderTime 40ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/src/test/resources/examples/AutoCloseSubtasks.groovy

https://bitbucket.org/sorin/jira-plugin-intellij
Groovy | 35 lines | 27 code | 6 blank | 2 comment | 2 complexity | e3689a056a094eca4ab5a8d22ea53a02 MD5 | raw file
  1. package examples
  2. import com.atlassian.jira.ComponentManager
  3. import com.atlassian.jira.issue.comments.CommentManager
  4. import com.opensymphony.workflow.WorkflowContext
  5. import org.apache.log4j.Category
  6. import com.atlassian.jira.config.SubTaskManager
  7. import com.atlassian.jira.workflow.WorkflowTransitionUtil;
  8. import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl;
  9. import com.atlassian.jira.util.JiraUtils;
  10. log = Category.getInstance("com.onresolve.jira.groovy.AutoCloseChildIssues")
  11. String currentUser = ((WorkflowContext) transientVars.get("context")).getCaller();
  12. WorkflowTransitionUtil workflowTransitionUtil = ( WorkflowTransitionUtil ) JiraUtils.loadComponent( WorkflowTransitionUtilImpl.class );
  13. SubTaskManager subTaskManager = ComponentManager.getInstance().getSubTaskManager();
  14. Collection subTasks = issue.getSubTaskObjects()
  15. if (subTaskManager.subTasksEnabled && !subTasks.empty) {
  16. subTasks.each {
  17. log.debug ("issue.statusObject.name: " + issue.statusObject.name)
  18. workflowTransitionUtil.setIssue(it);
  19. workflowTransitionUtil.setUsername(currentUser);
  20. workflowTransitionUtil.setAction (5) // 5 == RESOLVE ISSUE
  21. // Add a comment so people have a clue why the child has been closed
  22. CommentManager commentManager = (CommentManager) ComponentManager.getComponentInstanceOfType(CommentManager.class);
  23. String comment = "*Resolving* as a result of the *Resolve* action being applied to the parent.";
  24. commentManager.create(it, currentUser, comment, true);
  25. // validate and transition issue
  26. workflowTransitionUtil.validate();
  27. workflowTransitionUtil.progress();
  28. }
  29. }