Filters: watchers where current user is not an assignee - returning incorrect results

ckdesigns November 20, 2014

I am attempting to create a filter that will show all tickets I am watching, but am not assigned to. I know that I am watching six tickets on my company's JIRA system, and I know I am assigned to only one of those tickets.

This Query works as expected:
watcher = currentUser() ORDER BY updatedDate DESC 
=> Results in six tickets

This Query Works as expected:
watcher = currentUser() AND assignee = currentUser() ORDER BY updatedDate DESC
=> Finds one ticket that I am watching and assigned to

This Query does not work:
watcher = currentUser() AND assignee != currentUser() ORDER BY updatedDate DESC
=> Finds ONE ticket, there are four missing tickets

I noticed there is one difference between the four tickets that were not found and the one ticket that was found. The ticket that was returned has a user assigned to it, all the other users are unassigned.


I have attempted these variations:
watcher = currentUser() AND assignee not in (currentUser()) ORDER BY updatedDate DESC
issue in watchedIssues() AND assignee not in (currentUser()) ORDER BY updatedDate DESC
issue in watchedIssues() AND assignee != currentUser() ORDER BY updatedDate DESC
issue in watchedIssues() AND NOT assignee = currentUser() ORDER BY updatedDate DESC

All of these variations give me the same results.

My company is currently using JIRA v6.3.1.

UPDATE:

I have tried this search too:

watcher = currentUser() AND assignee is EMPTY ORDER BY updatedDate DESC
=> Results in the four unassigned tickets
watcher = currentUser() AND assignee is EMPTY AND NOT assignee = currentUser() ORDER BY updatedDate DESC
=> No tickets

I think I am getting closer but it seams like I am still missing something.

4 answers

1 accepted

6 votes
Answer accepted
ckdesigns November 20, 2014

This seams to work, the comparator was the important piece that I was missing.

watcher = currentUser() AND (assignee is EMPTY OR assignee != currentUser()) ORDER BY updatedDate DESC
Dave H. May 7, 2015

It seems like a bug that "assignee != currentUser()" does not cover assignee is EMPTY... logically if assignee is EMPTY, it's also != currentUser().

Tom Bell October 5, 2016

Agreed Dave H.  "assignee is EMPTY" shouldn't be necessary but at least the filter works correctly now.  Thanks ckdesigns!

Nick Salve July 18, 2017

if you think of EMPTY as NULL, it would make sense that NULL does not return as "not equal to" a value since there is nothign to compare. It's not uncommon in languages. 

Mike Bewley March 14, 2019

EMPTY is unassigned

Shelly Millet November 14, 2019

Thank you so much, so happy I finally found this query!!!! 

Johannes van Wijk May 7, 2021

Same with the Watcher.

(watcher != currentUser() OR watcher = empty)

did the trick for me. Just having the watcher != currentUser() gives me empty filters

0 votes
Winston
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 23, 2023

Has this changed? This solution isn't working on my end

0 votes
Saumya Agarwal February 5, 2019

Thank you! This has been a great help!

0 votes
Jillian Campbell August 13, 2017

Thank you! This is exactly what I was looking for! 

Suggest an answer

Log in or Sign up to answer