JIRA Saved Filters Lose Their Boolean Groupings

terryaney November 14, 2014

I'm trying to save a filter as the following:

(status in ("To Do", "In Progress", "Publish To Live") AND (assignee = currentUser() OR assignee = btr.users)) OR (status in (Review) AND reporter = currentUser())

After clicking save, the filter/jql remains correct, but if I leave the page and come back to the filter definition, it loses the parenthesis and presummably changes the results/meaning of the query.  After coming back, the filter looks like this:

status in ("To Do", "In Progress", "Publish To Live") AND (assignee = currentUser() OR assignee = btr.users) OR status in (Review) AND reporter = currentUser()

Any advice on how to preserve the filters would be greatly appreciated.

3 answers

1 accepted

1 vote
Answer accepted
JamieA
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.
November 14, 2014

> and presummably changes the results/meaning of the query

But does it? As a quick check you can just see if the same number of issues are returned for both queries.

If they are different, looks like https://jira.atlassian.com/browse/JRA-39107.

 

terryaney November 14, 2014

Think you are right...answering myself below but giving you credit.

0 votes
terryaney November 17, 2014

I think I might have just panicked at first look, but from my quick batch of tests, both of the following always behave the same (correctly).

 

var toDo = false;
var assignEE = false;
var toReview = false;
var reporter = true;
( ( toDo && assignEE ) || ( toReview && reporter ) ).Dump();
( toDo && assignEE || toReview && reporter ).Dump();
JamieA
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.
November 17, 2014

Now I'm really confused. What you've posted there is about operator precedence, and yes generally AND is higher than OR. But that's nothing to do with JQL, which the docs say is parsed L to R. What is this code exactly?

terryaney November 18, 2014

Well, this is just showing that my conditions evaluate to the same regardless of the nested parenthesis. So, I guess I'm saying/hoping that there isn't a problem with JQL in terms of not keeping nested parens, but rather it was 'smart enough' to realize they weren't needed and just saved appropriate query. Hopefully JQL isn't simply L to R and does obey order of operations correctly... - PS, this 2 comments per 24 hour limit force by JIRA is hard to work with ;)

0 votes
Eric Mathiasen November 14, 2014

I've seen this, too. I don't have a solution, but just wanted to pile on to say I've experienced this problem as well.

Suggest an answer

Log in or Sign up to answer