Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

JQL filter to fetch child issues where custom field values are empty in the parent

Amzad Khan January 23, 2024

Hello,

How can write a jql where I want to fetch the child issues for which custom field are empty in the parent issue.

 

Note:  Those custom fields does not exist in the child.

4 answers

0 votes
Reece Smith January 30, 2024

Hi @Amzad Khan ,

@Laurie Sciutti is correct. You can use the subtasksOf JQL function in the Enhanced Search feature of ScriptRunner for Jira Cloud.

We're extremely close to releasing a dedicated childrenOf JQL function, which can be used for any child issue type:

issueFunction in childrenOf("customfield is EMPTY")

 

Please don't hesitate to reach out if you have any questions :)

Thanks,

Reece 

0 votes
Charlotte Santos -Appfire-
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.
January 24, 2024

Hi @Amzad Khan 

I’m Charlotte, a support engineer at Appfire and I’m here to help you.

Unfortunately, using vanilla JQL, you’ll not be able to do it dynamically.

In the app where my team works, JQL Search Extensions for Jira, you can use this query to find, for example, Sub-tasks for which a custom field is empty in the parent issue:

issue in subtasksOfParentsInQuery("customfield is empty")

Or this one to find Epics' children for which a custom field is empty in the Epics:

issue in childrenOfEpicsInQuery("customfield is empty")

Please contact our support if you have any other questions about this query.

We’ll be happy to help you!

0 votes
Hannes Obweger - JXL for Jira
Atlassian Partner
January 24, 2024

Hi @Amzad Khan 

unfortunately, this is trickier than one might think; as a hierarchical query, it would really require some kind of join or subquery, which isn't available in plain Jira/JQL.

A few directions forward:

  • If it's a one-off thing, you could first query the relevant parent issues, and then use the keys of these parent issues in a second query, in a "parent in (KEY-1, KEY-2, ...)" clause.

If you want to run your search dynamically, without manually "stitching" two queries together, you'll need extra tooling:

  • You might be able to use Jira Automation to "propagate" parent information down to the children, and then use the respective field(s) on the children to include them into your filter. Obviously, this will add a fair bit of complexity to your system.
  • There's different apps from the Atlassian Marketplace that can help with that. First, there's a number of apps that extend JQL by additional functions, including hierarchy-related functions. Scriptrunner has been mentioned, but there are many more.
  • Alternatively, you could try one of the more hierarchy-focused apps from the Marketplace. These apps typically have their own ways of figuring out parent/child relationships between issues, and provide more powerful ways of searching through issue hierarchies. I myself work on such an app, in which your use case would be easy to solve - I'll provide more details below.

Hope this helps,

Best,

Hannes

Hannes Obweger - JXL for Jira
Atlassian Partner
January 24, 2024

Just to expand on the last point, this is how this would look in the app that my team and I are working on, JXL for Jira. Put simply, you'd create a sheet with all issues that are potentially relevant to you, enable the default issue hierarchy (that's just one click), and then use JXL filtering capabilities to narrow down to the issues that you care about:

children-of-parent-with-empty-field.gif

Once you have your list of issues, you can work on these directly in JXL (much like you'd do in e.g. Excel or Google Sheets), trigger various operations in Jira, or export them for further processing.

Any questions just let me know!

0 votes
Laurie Sciutti
Community Champion
January 23, 2024

Hi @Amzad Khan ~ do you use ScriptRunner?  If so, and assuming child issues are sub-tasks, the following should work:

 

issuetype = Sub-task AND issueFunction in subtasksOf("customfield is EMPTY")

 

Ref:  https://docs.adaptavist.com/sr4js/8.2.1/features/jql-functions/included-jql-functions/issue-links#subtasksOf 

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
TAGS
AUG Leaders

Atlassian Community Events