We are using Advanced Roadmaps and have the following hierarchy:
An Epic is related to a Capability using a "Parent Link".
I am interested in writing a schedule automation that, for each Capability, evaluates its Chlid Issues (which are Epics) and sets the FixVersion in Capability based upon the set of FixVersion assigned to all of its child Epics (and, of course, it is possible for an Epic to have multiple Fix Versions).
So, as an example, imagine we have Capability-123 which has 4 Child Epics
- CAPABILITY-123
- EPIC-44 (FixVersion = "1.2.3")
- EPIC-45 (FixVersion = "4.5.6")
- EPIC-46 (FixVersion = "4.5.6", "4.5.7")
- EPIC-47 (FixVersion = <empty>)
After the job is run, I want CAPABILITY-123 to have FixVersion = "1.2.3", "4.5.6", "4.5.7".
So, I know for each Capability, I can use "Lookup Issues" to find its member Epics (using JQL "Parent Link" = {{triggerIssue.key}}.
Likewise, I know the resultant Smartvalue, {{lookupIssues.fixVersions.name}}, contains a list of the issues.
- [1.2.3], [4.5.6], [4.5.6, 4.5.7], []
But I wasn't clear how to use this to edit the Capability's Fix Version. I tried using Advanced Branching, hoping it might iterate over each FixVersion in {{lookupIssues.fixVersions.name}}, but that didn't work.
Any ideas how to propagate the FixVersion "up" in the hierarchy (from the Epic to the Capability)?
P.S. - I know I can do this via a Trigger looking for Field Value Changed on the "Parent Link" field. But...there are a bunch of corner cases (an Epic can be added to a Capability, an Epic can be removed from a Capability, the Fix Version on an Epic can be added/removed). As such, I was hoping to just "roll up" the Fix Versions from the Epic to the Capability on a nightly basis.
Any ideas and/or suggestions would be deeply appreciated.
Thanks.