Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...


Note

This document is obsolete. JMWE now supports copying of attachments across issues in the post-functions. 

Abstract

This code snippet copies Attachments to the current issue from issues linked to it with a specific link type. Since currently copying and setting of attachments is not supported until JMWE-504 is implemented, you can use this snippet to copy the attachments.

Logic

Fetch the attachments of the linked issues, linked to the current issue with a specific link type and use the AttachmentManager to copy them.

Snippet

Code Block
languagegroovy
linenumberstrue
//Initialize the attachmentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.AttachmentManager
AttachmentManager attachmentManager = ComponentAccessor.getAttachmentManager()

//Define a variable to store the attachments 
def attach = []
if(issue.getLinkedIssues("<Link type name>")){
//Fetch the attachments of the linked issue and store them in the attach variable
  issue.getLinkedIssues("<Link type name>").each{
    attach += it.get("attachment")
  }
}
//Add each attachment to the issue
attach.each{
  attachmentManager.copyAttachment(it,currentUser,issue.key)
}

...

Info

By not specifying the link type, as issue.getLinkedIssues(), you can copy the Attachments of all the linked issues of the current issue, other than the Parent-Subtask and Epic-Story links.

Placeholders

Placeholder

Description

Example

<Link type name>Name of the link typeis cloned by

Examples

The output outcome of the code snippet is a copy of collection of Attachments which you could use in a Groovy expression, for example, to copy the Attachments to the copy of Attachments to an issue in the Scripted Groovy post-function:

  • Copy the Attachments of the current issue to its newly created linked issue created using the Create issue post-function
  • Copy the Attachments of the issue to a linked issue

References

Filter by label (Content by label)
showLabelsfalse
max5
showSpacefalse
cqllabel = "jmwe-groovy" and space = "JMWE"