PageRenderTime 79ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/src/test/resources/examples/CreateJob.groovy

https://bitbucket.org/sorin/jira-plugin-intellij
Groovy | 200 lines | 131 code | 48 blank | 21 comment | 6 complexity | 8c8634dc8dcee058d73e1278ccf0614f MD5 | raw file
  1. package examples
  2. import com.atlassian.jira.ComponentManager
  3. import com.atlassian.jira.issue.CustomFieldManager
  4. import com.atlassian.jira.issue.MutableIssue
  5. import com.atlassian.jira.issue.fields.CustomField
  6. import org.apache.log4j.Category
  7. import org.apache.log4j.Level
  8. import com.atlassian.jira.web.bean.MoveIssueBean
  9. import com.atlassian.jira.web.action.issue.MoveIssueUpdateFields
  10. import com.atlassian.jira.issue.IssueFieldConstants
  11. import com.atlassian.jira.bc.issue.comment.CommentService
  12. import com.atlassian.jira.issue.security.IssueSecurityHelper
  13. import webwork.action.ActionContext
  14. import com.atlassian.jira.web.SessionKeys
  15. import com.atlassian.jira.web.action.issue.MoveIssueConfirm
  16. import com.atlassian.jira.issue.AttachmentManager
  17. import com.atlassian.jira.project.ProjectManager
  18. import com.atlassian.jira.project.Project
  19. import com.atlassian.jira.issue.IssueManager
  20. import com.atlassian.core.ofbiz.util.CoreTransactionUtil
  21. import com.atlassian.jira.ManagerFactory
  22. import org.quartz.Scheduler
  23. import org.quartz.helpers.TriggerUtils
  24. import org.quartz.SimpleTrigger
  25. import org.quartz.JobDetail
  26. import com.onresolve.jira.groovy.TestJob
  27. import org.quartz.Trigger
  28. import org.quartz.JobDataMap
  29. import com.atlassian.jira.issue.Issue
  30. import com.opensymphony.user.UserManager
  31. import com.opensymphony.user.User
  32. // CoreTransactionUtil.commit(true)
  33. // boolean began = CoreTransactionUtil.begin()
  34. public final String JOB_NAME = "SomeTestJob"
  35. public final String TRIGGER_NAME = "SomeTestTrigger"
  36. System.setProperty("atlassian.mail.senddisabled", "false")
  37. Issue issue
  38. ComponentManager componentManager = ComponentManager.getInstance()
  39. User currentUser
  40. currentUser.getGroups().contains("a b") && ! issue.repo
  41. String cat = componentManager.getProjectManager().getProjectCategoryFromProject(issue.getProject()).get("name")
  42. issue.getProjectObject()
  43. Category log = Category.getInstance("com.onresolve.jira.groovy")
  44. log.setLevel(Level.DEBUG)
  45. Scheduler scheduler = ManagerFactory.getScheduler()
  46. (scheduler.getJobGroupNames() as List).each {String group ->
  47. (scheduler.getJobNames(group) as List).each {String jobName ->
  48. log.debug scheduler.getJobDetail(jobName, group)
  49. // log.debug scheduler.getJobDetail(jobName, group).getJobDataMap().toMapString()
  50. }
  51. }
  52. (scheduler.getTriggerGroupNames() as List).each {String group ->
  53. (scheduler.getTriggerNames(group) as List).each {String t ->
  54. Trigger trigger = scheduler.getTrigger(t, group)
  55. log.debug trigger
  56. if (trigger.getJobName() == JOB_NAME || trigger.getName() == TRIGGER_NAME) {
  57. log.debug("Unscheduling $t")
  58. scheduler.unscheduleJob(t, Scheduler.DEFAULT_GROUP)
  59. }
  60. // scheduler.unscheduleJob()
  61. }
  62. }
  63. scheduler.deleteJob(JOB_NAME, Scheduler.DEFAULT_GROUP)
  64. if (!scheduler.getJobDetail(JOB_NAME, Scheduler.DEFAULT_GROUP)) {
  65. JobDetail jobDetail = new JobDetail(JOB_NAME,
  66. Scheduler.DEFAULT_GROUP,
  67. TestJob.class,
  68. );
  69. jobDetail.setDurability(true)
  70. jobDetail.setJobDataMap(new JobDataMap([issue: 10001]))
  71. scheduler.addJob(jobDetail, true)
  72. }
  73. scheduler.unscheduleJob(TRIGGER_NAME, Scheduler.DEFAULT_GROUP)
  74. SimpleTrigger trigger = new SimpleTrigger(TRIGGER_NAME, Scheduler.DEFAULT_GROUP)
  75. // Trigger trigger = scheduler.getTrigger("ztesxt", Scheduler.DEFAULT_GROUP)
  76. trigger.setStartTime(new Date(System.currentTimeMillis() + 1000))
  77. trigger.setJobGroup(Scheduler.DEFAULT_GROUP)
  78. trigger.setJobName(JOB_NAME)
  79. scheduler.scheduleJob(trigger)
  80. return
  81. // scheduler.deleteJob("xmyJob", Scheduler.DEFAULT_GROUP)
  82. JobDetail jobDetail = new JobDetail(JOB_NAME,
  83. Scheduler.DEFAULT_GROUP,
  84. TestJob.class,
  85. );
  86. jobDetail.setDurability(true)
  87. scheduler.addJob(jobDetail, true)
  88. return
  89. // JobDetail jobDetail = scheduler.getJobDetail("sxmyJob", Scheduler.DEFAULT_GROUP)
  90. log.debug("jobDetail: $jobDetail")
  91. // scheduler.scheduleJob(jobDetail, trigger)
  92. // scheduler.rescheduleJob("tesxtxx", Scheduler.DEFAULT_GROUP, trigger)
  93. // scheduler.unscheduleJob()
  94. scheduler.scheduleJob(jobDetail, trigger)
  95. return
  96. ProjectManager projectManager = componentManager.getProjectManager()
  97. Project targetProject = projectManager.getProjectObjByKey("JRA")
  98. IssueManager issueManager = componentManager.getIssueManager()
  99. MutableIssue targetIssue = issueManager.getIssueObject('GRV-100')
  100. // MutableIssue targetIssue = issue
  101. MoveIssueBean moveIssueBean = new MoveIssueBean(componentManager.getConstantsManager(), projectManager);
  102. moveIssueBean.getFieldValuesHolder().put(IssueFieldConstants.PROJECT, targetProject.id)
  103. moveIssueBean.getFieldValuesHolder().put(IssueFieldConstants.ISSUE_TYPE, "1")
  104. moveIssueBean.setIssueId(targetIssue.id)
  105. moveIssueBean.setTargetStatusId("1")
  106. log.debug(moveIssueBean)
  107. //MoveIssueUpdateFields moveIssueUpdateFields = ComponentManager.getComponentInstanceOfType(MoveIssueUpdateFields.class)
  108. //log.debug moveIssueUpdateFields
  109. ActionContext.getSession().put(SessionKeys.MOVEISSUEBEAN, moveIssueBean)
  110. MoveIssueUpdateFields moveIssueUpdateFields = new MoveIssueUpdateFields(
  111. componentManager.getIssueLinkManager(),
  112. componentManager.getSubTaskManager(),
  113. componentManager.getConstantsManager(),
  114. componentManager.getWorkflowManager(),
  115. componentManager.getFieldManager(),
  116. componentManager.getFieldLayoutManager(),
  117. componentManager.getIssueFactory(),
  118. componentManager.getFieldScreenRendererFactory(),
  119. ComponentManager.getComponentInstanceOfType(CommentService),
  120. ComponentManager.getComponentInstanceOfType(IssueSecurityHelper.class)
  121. )
  122. MoveIssueConfirm moveIssueConfirm = new MoveIssueConfirm(
  123. componentManager.getIssueLinkManager(),
  124. componentManager.getSubTaskManager(),
  125. ComponentManager.getComponentInstanceOfType(AttachmentManager.class),
  126. componentManager.getConstantsManager(),
  127. componentManager.getWorkflowManager(),
  128. componentManager.getFieldManager(),
  129. componentManager.getFieldLayoutManager(),
  130. componentManager.getIssueFactory(),
  131. componentManager.getFieldScreenRendererFactory(),
  132. ComponentManager.getComponentInstanceOfType(CommentService),
  133. ComponentManager.getComponentInstanceOfType(IssueSecurityHelper.class),
  134. issueManager,
  135. componentManager.getAttachmentPathManager())
  136. log.debug(moveIssueConfirm)
  137. moveIssueUpdateFields.setId(targetIssue.id)
  138. moveIssueUpdateFields.setIssue(issueManager.getIssue(targetIssue.id))
  139. moveIssueUpdateFields.doExecute()
  140. moveIssueConfirm.setId(targetIssue.id)
  141. moveIssueConfirm.setIssue(issueManager.getIssue(targetIssue.id))
  142. String execute = moveIssueConfirm.doExecute()
  143. log.debug(moveIssueConfirm.errors)
  144. // CoreTransactionUtil.commit(began)
  145. return
  146. /*
  147. log.debug(moveIssueUpdateFields)
  148. moveIssueUpdateFields.setId(targetIssue.id)
  149. execute = moveIssueUpdateFields.doValidation()
  150. log.debug moveIssueUpdateFields.getErrors()
  151. log.debug("execute: $execute")
  152. */