Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.68 KB | None | 0 0
  1. import com.atlassian.jira.component.ComponentAccessor
  2. import com.atlassian.jira.issue.MutableIssue
  3.  
  4. def is = ComponentAccessor.issueService
  5. def cfm = ComponentAccessor.customFieldManager
  6. def ilm = ComponentAccessor.issueLinkManager
  7. def im = ComponentAccessor.issueManager
  8. def issueFactory = ComponentAccessor.issueFactory
  9. def constantManager = ComponentAccessor.constantsManager
  10. def subTaskManager = ComponentAccessor.subTaskManager
  11.  
  12. def ISSUE_LINK_TYPE_ID = 10003
  13.  
  14. def user = ComponentAccessor.jiraAuthenticationContext.user
  15. def issue = binding.variables.get("issue") as MutableIssue ?: is.getIssue(user, "DTP-1").issue
  16.  
  17. def cfSubsidiaries = cfm.getCustomFieldObjectByName("Define Subsidiaries")
  18. //subsidiary fields
  19. def cfHeadOf = cfm.getCustomFieldObjectByName("Head of Subsidiary")
  20. def cfs = cfm.getCustomFieldObjects(issue)
  21.  
  22. def subsidiaries = issue.getCustomFieldValue(cfSubsidiaries)
  23.  
  24. subsidiaries?.each { key ->
  25.     def subsidiary = im.getIssueByCurrentKey(key)
  26.     if (subsidiary) {
  27.  
  28.         def headOf = subsidiary.getCustomFieldValue(cfHeadOf)
  29.  
  30.         def COPY_CFS = ['Head of Subsidiary', 'Deputy of Subsidiary']
  31.         def WP_COPY_CFS = ['Estimated End Date']
  32.  
  33.         def requestSubtask = issueFactory.getIssue()
  34.         requestSubtask.setSummary(issue.summary + " for " + subsidiary.summary)
  35.         requestSubtask.setAssignee(headOf)
  36.         requestSubtask.setReporter(issue.reporter)
  37.         requestSubtask.setParentObject(issue)
  38.         requestSubtask.setProjectObject(issue.getProjectObject())
  39.         requestSubtask.setIssueTypeId(constantManager.getAllIssueTypeObjects().find {
  40.             it.getName() == "Sub-task"
  41.         }.id)
  42.         requestSubtask.setDueDate(issue.dueDate)
  43.         requestSubtask.setPriority(issue.priority)
  44.         requestSubtask.setDescription(issue.description)
  45.  
  46.         COPY_CFS.each { customfieldName ->
  47.             def cf = cfs.find { it.name == customfieldName }
  48.             if (cf) {
  49.                 requestSubtask.setCustomFieldValue(cf, subsidiary.getCustomFieldValue(cf))
  50.             }
  51.         }
  52.  
  53.         WP_COPY_CFS.each { customfieldName ->
  54.             def cf = cfs.find { it.name == customfieldName }
  55.             if (cf) {
  56.                 requestSubtask.setCustomFieldValue(cf, issue.getCustomFieldValue(cf))
  57.             }
  58.         }
  59.  
  60.         // Add any other fields you want for the newly created sub task
  61.         def newIssueParams = ["issue": requestSubtask] as Map<String, Object>
  62.         def newSubtask = im.createIssueObject(user, newIssueParams)
  63.         subTaskManager.createSubTaskIssueLink(issue, requestSubtask, user)
  64.         ilm.createIssueLink(newSubtask.id, subsidiary.id, ISSUE_LINK_TYPE_ID, 0, user)
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement