Is there a single JQL query which can find all the child issues of a given Initiative? down through the hierarchy including Epics, Issues, etc?
Hi Traci,
Getting all child issues of an initiative via JQL is possible since Portfolio 2.10, you can check the details here: https://confluence.atlassian.com/jiraportfolio/portfolio-for-jira-2-10-release-notes-940678731.html#PortfolioforJira2.10releasenotes-childissues
Cheers,
Is it possible to use JQL in the Confluence JIRA Issue/Filter macro to display a table of all the issues of a Portfolio Initiative? The link above seems to be creating a query in Portfolio itself [ issuekey in childIssuesOf("INIT-001") ], but I can't seem to find equivalent JQL syntax that will work in the Confluence macro to retrieve the issues.
I can insert the initiative itself with the macro, and assuming all the issues also have the label "MyLabel", I can generate the table with 'labels = "MyLabel" '. But I'd like to directly retrieve the initiative's issues.
This is cloud JIRA with Portfolio and Confluence on.
This sound like you can only query for child issues for one Initiative at a time. Is this correct? Is there a way you can put more than one Initative in this query issuekey in childIssuesOf("INIT-001")? So, let's say, I want to see all the Child Issues in INIT-100 and INIT-200, can I query for both of them at the same to show on the screen? Hope this make sense. Thanks.
@Mao Lee, childIssuesOf() only takes one argument, but you can do this:
(issuekey in childIssuesOf(INIT-100) OR issuekey in childIssuesOf(INIT-200))
If you use cloud version, https://confluence.atlassian.com/jiraportfoliocloud/searching-for-portfolio-for-jira-custom-fields-in-jql-941619014.html would be useful.
issuekey in childIssuesOf() does not work in cloud version.
Is this still a limitation of the cloud version?
Seems to be, yes -- here we are in June 2020 and Cloud doesn't recognize childIssuesOf() as a JQL function.
For the Cloud version try this one:
issueIsAChildOf in (ABC-123, XYZ-987)
After much trial and error I have been able to create a query that returns all items in the hierarchy using only the initiative id.
This is with Jira cloud V 7.13 with Scriptrunner but NO Portfolio. Jira cloud means some scriptrunner functions are not available.
The main difficultly here is to construct a triple nested issueFunction but eventually the right combination of ", \" and ' was found below. In this example the initiative was XYZ-997 and the Epics have a 'is parent task of' relationship and stories are Epic links. After the query there is an explanation of the three sections required. This has been checked on a single initiative with Epics, stories and subtasks.
(issueFunction in subtasksOf("(issueFunction in linkedIssuesOfAll(\"issueFunction in linkedIssuesOfAll('issuekey = XYZ-997','is parent task of')\")) AND issuetype not in (Epic)")) OR ((issueFunction in linkedIssuesOfAll("issueFunction in linkedIssuesOfAll('issuekey = XYZ-997','is parent task of')")) AND issuetype not in (initiative)) OR issueFunction in linkedIssuesOf("issuekey = XYZ-997","is parent task of")
Epics :
issueFunction in linkedIssuesOf("issuekey = XYZ-997","is parent task of")
This piece of the query returns all linked issues to the initiative XYZ-997. In this case this returns a list of 5 Epics.
Stories, bugs etc that are linked to the Epics :
((issueFunction in linkedIssuesOfAll("issueFunction in linkedIssuesOfAll('issuekey = XYZ-997','is parent task of')")) AND issuetype not in (initiative))
This nested issue function query takes the list of Epics query above and nests this into a further linkedIssuesOfAll to retrieve all linked issues. Because the Initiative is also returned, an AND issuetype restriction is used to prevent the initiative appearing in the final results. Due to the syntax for scriptrunner the quotation marks around the inner query are replaced with '.
Subtasks which are linked to the stories, bugs etc
(issueFunction in subtasksOf("(issueFunction in linkedIssuesOfAll(\"issueFunction in linkedIssuesOfAll('issuekey = XYZ-997','is parent task of')\")) AND issuetype not in (Epic)"))
This triple nested issueFunction query takes the list of Stories etc, which in turn is derived from the list of Epics and returns all linked subtasks.
Due to the syntax for scriptrunner the escape quotation must be used.
issuefunction in issuesInEpics("issueFunction in linkedIssuesOfAll('issuekey = XYZ-997','is parent task of')") could also be used to obtain stories, bugs etc that are linked to Epics.
I was able to do it with JQL that looked like this
issue = ipe-996 AND project = "IPE Projects" OR issueLink = ipe-996 AND project = "IPE Projects"
That gave me a view that had the parent issues and associated stories only.
I just did "Parent Link" = XXX-0000
This got me everything I need. Think is was using a script runner function in Jira CLoud
This used to be a massive problem for me not using ScriptRunner or Portfolio, but I have relatively recently discovered that key in (childIssuesOf("PRO-XXX")) works, not sure when it was introduced but it's exactly what I wanted, if PRO-XXX is an Epic then it gives stories etc. AND subtasks of those stories, in the way that parent in never did.
We have Jira Premium (Portfolio) for Cloud enabled and are unable to use this function. Do I have to enable it somehow first?
issuekey in childIssuesOf(ABC-123) order by created DESC
Error: Unable to find JQL function 'childIssuesOf(ABC-123)'.
Also, it's interesting that all the answers above have somewhat different syntax for this same child issues function.
Hello @Abhi Singh In our Jira v8.15.0 Server instance the JQL for your example would be issuekey in (childIssuesOf("PRO-XXX")) so not identical to your post, but given we're not running Portfolio, results may differ.
So I'm seeing a lot of JQL here but none of them have given me the successful results of showing the children of a parent issue. I don't scriptrunner but have Jira Premium (Portfolio) aka Advanced Roadmaps.
overview:
parent issue - MDC-27
children issue - MDC-76 & MDC-77
how I'm doing the queries
Errors/Unsucessful:
How do I find all the issue that a parent has through a query?
It's
issuekey in portfolioChildIssuesOf(MDC-27)
Thanks @Daniel Turczanski - JQL Search Extensions that worked!
parent = MDC-27
Hi everyone,
CC: @cathy @Abhi Singh
In Jira Cloud you can currently find the children of initiative by specifying the issue key:
issuekey in portfolioChildIssuesOf(MYKEY-1)
You can specify multiple keys by duplicating the above query and connecting the queries with OR.
To get children of initiatives based on more advanced criteria you can install our professional indexing service:
After you install the app you can simply search:
issue in childrenOfIssuesInQuery("project='ACME' and type=Initiative")
issue in childrenOfIssuesInQuery("key in (MYKEY-1, MYKEY-2, MYKEY-3)")
You can also find children of initiatives and children of their children with the recursive function:
issue in childrenOfIssuesInQueryRecursive("project='ACME' and type=Initiative")
Make sure to check out the documentation.
I hope this helps!
Daniel
Hi @Abhi Singh , please upvote my answer if you find it helpful: https://community.atlassian.com/t5/Jira-questions/JQL-query-to-find-child-issues-of-Initiative/qaq-p/461409#M497045
Thanks!
It looks like you're new here. Sign in or register to get started.