JQL for epics, parents and child work items

Published 2026-09-30 by Sidecar Tools. Every JQL query and error message below was run against a Jira Cloud site on 2026-09-30. Automation steps use Jira's current "work item" wording; older sites say "issue".

Short answer

Use the parent field. It works for an epic's child work items and for a work item's sub-tasks:

parent = KAN-1

Replace KAN-1 with the key of your epic or parent work item. parent in (KAN-1, KAN-2) takes several keys.

Queries you can paste

You wantJQL
Open children of one epic or parentparent = KAN-1 AND statusCategory != Done
Unassigned children of one parentparent = KAN-1 AND assignee is EMPTY
Children grouped by statusparent = KAN-1 ORDER BY status ASC
Open epicsissuetype = Epic AND statusCategory != Done
Open work that is not in any epicissuetype in standardIssueTypes() AND parent is EMPTY AND statusCategory != Done
All open sub-tasksissuetype in subTaskIssueTypes() AND statusCategory != Done
Open child work, grouped by parentparent is not EMPTY AND statusCategory != Done ORDER BY parent ASC

Older queries that use "Epic Link" = KAN-1 or parentEpic = KAN-1 still parse on Jira Cloud, but parent is the field Atlassian now uses for both epics and sub-tasks.

What fails, and the exact error

Searching by child counts and parent status

Questions like "epics that are done but still have open children", "parents with no children" or "epics less than half complete" need stored fields, because JQL cannot count children or read the parent. Parent & Child Fields for Jira (ours, in Atlassian Marketplace review) adds read-only fields for this. Each query below parses on a Jira Cloud site with the app installed:

"Open child count" > 0 AND statusCategory = Done
"Child count" = 0 AND issuetype = Epic
"Child progress %" < 50 AND issuetype = Epic AND statusCategory != Done
"Parent status category" = Done AND statusCategory != Done
"Parent assignee" = currentUser()
issuetype = Epic ORDER BY "Child progress %" ASC

Without an app, the fallback is an Automation rule that writes a count into a number field when a child is created, moved or resolved. It uses rule runs and drifts if a run is missed.

Want the rest? The Jira Cloud JQL Cookbook has 66 copy-paste queries for triage, sprints, releases, SLAs and reporting, each one validated on Jira Cloud. Get it on Gumroad, pay what you want from $12.