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)
}
}
Solution:
Line:
if(subtask.get("attachment") && subtask.getAsString("components").contains(needcomp))
change
if(subtask.get("attachment") && subtask.get("components").any{it.getName()==needcomp})
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.