Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.
×I have a situation where some issues in a project have a custom field, while others do not. If I perform a search like:
project = FOO and customField is EMPTY
This will only return the issues that have the custom field "customField" and where the field is empty, it will exclude all issues that aren't associated with the custom field "customField"
I'm trying to execute a query that will return all issues where either the custom field is empty, or where the custom field is not associated with the issue. Is there a way to do this?
I've found the solution, but it's really hack-ish.
Both customField IS EMPTY
and customField IS NOT EMPTY
does not return tickets that have no customField
at all. So, basically, NOT (customField IS EMPTY OR customField IS NOT EMPTY)
should return them. As it turns out, it doesn't. Probably some pre-processing of query etc. But if you save it as a filter, it works. So..
customField IS EMPTY OR customField IS NOT EMPTY
Has customField
NOT filter = "Has customField"
, you get issues that have no customField at allproject = FOO and (customField is EMPTY OR NOT filter = "Has customField")
Script Runer allows implement straigtforward solution with the only JQL query
project = FOO and issueFunction not in expression("project = FOO and (customField IS EMPTY OR customField IS NOT EMPTY)", "created <= today")
It's also slightly hackish, since expression always means "all issues from subquery", but at least it could be done via scripting w/o filter being saved
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That worked for me! Thank you, Andrey!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've tried doing that just now (I hope I followed the steps correctly). On the last step (the final query) I get this error:
Error occurred communicating with the server. Please reload the page and try again.
Obviously, no results are returned.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've also tried a direct query via jira-cli and I also get an error:
jira-cli view --search-jql 'project = Development AND NOT (team IS EMPTY OR team IS NOT EMPTY)'
<h1>Page unavailable</h1>
<div class="aui-page-notification-description">
Please check <a href="https://status.atlassian.com">Atlassian Status</a> for any known issues.
<br />
If your page hasn't appeared again in 5-10 minutes, please contact our support team.
</div>
<br>
<p>
<a href="https://status.atlassian.com" class="aui-button aui-button-primary" style="width: 175px;">
Atlassian Status
</a>
<a href="https://getsupport.atlassian.com/servicedesk/customer/jst" class="aui-button">
Contact support
</a>
</p>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
May I down vote this ? As mentioned in the follow up comments, this is not a reliable solution.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Jose Ramirez Did you try to re-index the project? There's a "Re-index project" button that solved a similar problem i faced
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To elaborate, I recently added a custom field, and had to retroactively populate the field with data for issues. So when I scan for project=ABC AND custom field = EMPTY for a particular issue type, it has nothing, and returns nothing, obviously. The system knows nothing of the newly added field. I have to "JQL it" using only "project=ABC AND issuetype = XYZ" and then add the new field column on the issue listing, and order it so I can see the empty field for older issues, and then bulk change with a script in a post function to perform the retro mapping. It would have been great had the system recognized the 'emptiness' of the new field, but that would require a system re-index, and who has time for that ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Jose Ramirez Hi again, sorry to hear about that. I am not familiar with problem unfortunately. Usually we make system re-index during maintenance times, outside of working hours when there's low traffic.
Btw you made sure that the field is searchable from the edit menu right?
Good luck!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For me
t.Field IS NULL worked
Which is equal to
ISNULL(t.Field)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In our instalation this sentence it works. Try enclosing field name in quotes:
"CustomField" is EMPTY
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
I am also facing this issue while I do jql for Component field in a project.
Search1 : project= proj1 and "component" is not EMPTY
Search2 : project= proj1 and "component" is EMPTY
Search3 : project= proj1
For me
Search3 is not equal to some of Search1 and Search2.
Please advice.,
Regards
Prakhar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Use "Re-index project" to solve this issue once and for all
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I second that. The "custom field" is EMPTY does not always work. I think this is a bug in JIRA (mine is 7.0).
I tried to reindex search, but it did not help.
This is somehow related to a situation where you have two or more projects with same set of custom controls. E.g. prj1 contains "custom field" and prj2 also contains "custom field".
The correct jql should be the following:
project=prj1 and cf[10201] is EMPTY
, where 10201 is the id of your custom field (you may quess it if you add a search column with your CF value and inspect corresponding html code).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That worked . thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Worked in my case too. Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'd like to query for all issues that don't have a value in "Account" (custom field 10101).
"Account is EMPTY" returns all issues (not corrent) "cf[10101] IS EMPTY" also returns everything.
what's the correct way to do this search? JIRA is 6.4m13
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Instead try the other way i.e. first search for all issues where customfield is empty and then filter the results by project.
Below worked for me:
customField is EMPTY and project = FOO
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I have a Custom field titled Provider.
Provider = Empty worked for me.
Thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Custom field = NULL worked for me Thanks Atlassian for suggestions :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We get results when searching 'is empty' but not all results for all tickets that don't have the field populated. I don't think this works as intended, but two of the above workarounds do the trick.
This was supposedly fixed years ago in https://jira.atlassian.com/browse/JRASERVER-6180 but I really don't think it was.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Actually right now the is Empty is accepted and would return the results
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That is not possible via JQL. You might want to write a plugin or find it from the database if it is a one time task!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.