Copy attachment to subtasks

Konstantin October 21, 2017

The subtasks are created in postfunctions of transition in a parent issue. There is postfunction to copy attachments on transition "create" inside the subtasks' workflow But my attachments are copy only to the first task. Why?
I use add-on JMWE.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.AttachmentManager
AttachmentManager attachmentManager = ComponentAccessor.getAttachmentManager()

def listcomponents = ["comp1","comp2","comp3",...];
def needcomp;
def res;
def attach = []

try{
listcomponents.each{comp->
if(issue.get("components").any{it.getName()==comp}){
switch(comp){
case ["comp1","comp2","comp3"]:
needcomp = "comp4";
res = 1;
break;
case ["comp5"]:
needcomp = "comp6";
res = 1;
break;
case ["comp6","comp7"]:
needcomp = "comp8";
res = 1;
break;

if(res){
throw new Exception("return from closure")
}

}
}
catch (Exception e){
issue.getParentObject()?.get("subtasks").each{subtask->
if(subtask.get("attachment") && subtask.getAsString("components").contains(needcomp))
{
attach += subtask.get("attachment")
}
}

attach.each{file->
attachmentManager.copyAttachment(file,currentUser,issue.key)
}
}

parent's postfunction.pngtransition create.png

1 answer

0 votes
Konstantin October 21, 2017

Solution:
Line: 

if(subtask.get("attachment") && subtask.getAsString("components").contains(needcomp))

change

if(subtask.get("attachment") && subtask.get("components").any{it.getName()==needcomp})

Suggest an answer

Log in or Sign up to answer