I am trying to run a JQL query for Portfolio where I need to see all child issues of a Campaign for which the user story contains a Label = 'ABC'. That means that I would like to add a filder to the childIssuesOf so that when we reach the user story level, if that user story contains a Label = 'ABC' then return the user story and all its parents.
I've tried to do a composed query with childIssuesOf and ParentIssuesOf but they don't accept a query as an argument. I'd like to do something like:
key in ParentIssuesOf(key in childIssuesOf("JIRA-123") AND labels = 'ABC')
the problem is that ParentIssuesOf only accepts an Issue or a List of issues and it doesn't seem to accept a query as an argument.
So how can we pass a JQL subquery to ParentIssuesOf or ChildIssuesOf?
Natively you won't be able to nest this value as covered in these feature requests:
The last comment of the JPO feature request gives a really good example on the full query string combinations to use via ScriptRunner
How did you achieve this with ScriptRunner please? Do you mind sharing the queries? Also, is ScriptRunner a plugin to be added?
In the example given JPO features -
We can achieve this using four filters in Scriptrunner's JQL functions, but it'd be great if Portfolio's JQL could handle it in one.
Filter 1 (Get Epics linked to parent Initiatives) - issueFunction in portfolioChildrenOf("project = ABC")
Filter 2 (Get Stories linked to those Epics) - issueFunction in linkedIssuesOfAll ("Filter 1")
How do you assign "Filter 1" to a query?
this is what I am trying to do ..
This is my list of all Initiatives, which returns a list of 17 initiatives :
"Value Stream" = "name_of_vs" AND "IOP Baseline" in ("FY21 IOP Baseline")
I then want to find all epics & stories linked to ALL the initiatives.
Help please :)
issueFunction in issuesInEpics("project = "XXX" AND Issuetype = "EPIC" AND issuekey in portfolioChildIssuesOf("XXXX-XXX")") OR
issuekey in portfolioChildIssuesOf(XXXX-XX) AND issuetype not in (EPIC, Sub-task) AND status != cancelled ORDER BY Rank OR
issuekey in portfolioChildIssuesOf("XXXX-XX")