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
//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) }
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 type | is cloned by |
Examples
The 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 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