Script a listener to update field from parent to same field across all subtasks

Scott Federman December 5, 2017

Hey All, 

 

So i have been trying to write a listener script with the help of a number of folks and am so close but haven't quite figured out the magic sauce. I have two fields (PO Number and Tracking Number) i need to populate down from the parent to all subtasks. As of now I have only been able to accomplish this with the first subtask but not the rest in the list. I was told i should consider an "each" loop but don't really know how to script that or if it is truly the correct approach. Attached is my script so far. I've called out in the script where i think i need some help. If anybody could lend a hand, i would certainly appreciate it. 

script.PNG

 

3 answers

3 accepted

2 votes
Answer accepted
Scott Federman December 5, 2017

these both worked out great!

1 vote
Answer accepted
Joshua Yamdogo @ Adaptavist
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 5, 2017

Hi Scott, 

Yes, iterating through the subtask issues with .each() would work fine here. It should be rather simple to do, like this:

issue.getSubTaskObjects().each { subtask ->
syncCustomFieldValue(issue, subtask, "yourNameOfField")

}
1 vote
Answer accepted
Stephen Cheesley _Adaptavist_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 5, 2017

Hi Scott,

You can do the following to loop through the sub task objects:

issue.subTaskObjects.each{
println("SubTask ID: ${it}")
}

You can do what you want with each subtask inside the curly braces. The variable "it" represents the sub task object (Issue) for each pass of the loop.

Steve

Suggest an answer

Log in or Sign up to answer