Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-23030

Not equals operator (!=) excludes results with empty values

XMLWordPrintable

    • 57
    • 24
    • Hide
      Atlassian Update – 8 August 2019

      Hi everyone,

      Thanks for sharing your comments and votes on this suggestion. We are sorry to have kept you for quite a while without a clear answer.

      While this suggestion has gathered significant interest, we are not planning to invest in it. That's why we're closing it as 'Won't Do'.

      After careful review of the most pressing needs of our customers, we've decided to prioritize other areas of the Jira Server and Data Center roadmap. Also, in the recent releases we have shipped several highly-voted features and improvements.

      While we understand that current logic for treating EMPTY values may not always be clear, we do our best to describe it in the documentation (NOT IN operator, NOT EQUALS operator). We believe that including EMPTY values is easy when following the docs.

      I understand that our decision may be disappointing, but we also hope that you will appreciate our candid and transparent approach. You can learn more about our approach to highly voted server suggestions here.

      To learn more about our recent investments in Jira Server and Data Center, please check our two new dashboards containing Recently resolved issues and Current work and future plans.

      Kind regards,
      Jira Server Product Management

      Show
      Atlassian Update – 8 August 2019 Hi everyone, Thanks for sharing your comments and votes on this suggestion. We are sorry to have kept you for quite a while without a clear answer. While this suggestion has gathered significant interest, we are not planning to invest in it. That's why we're closing it as 'Won't Do'. After careful review of the most pressing needs of our customers, we've decided to prioritize other areas of the Jira Server and Data Center roadmap. Also, in the recent releases we have shipped several highly-voted features and improvements. While we understand that current logic for treating EMPTY values may not always be clear, we do our best to describe it in the documentation ( NOT IN operator , NOT EQUALS operator ). We believe that including EMPTY values is easy when following the docs. I understand that our decision may be disappointing, but we also hope that you will appreciate our candid and transparent approach. You can learn more about our approach to highly voted server suggestions here . To learn more about our recent investments in Jira Server and Data Center, please check our two new dashboards containing Recently resolved issues and Current work and future plans . Kind regards, Jira Server Product Management
    • We collect Jira feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for JIRA Server. Using JIRA Cloud? See the corresponding suggestion.

      Expected Behavior

      The NOT / != operator in a JQL query should return issues with no value set for the searched field or with an empty value.

      Actual Behavior

      Issues with non-existing or empty values for the searched field are excluded from the search.

      Example #1

      • I have the below query on a filter, which returns all issues not assigned to the user admin;
        assignee != admin
        
      • This filter returns issues assigned to all users but admin, however it doesn't return unassigned

      Example #2

      • A JIRA instance has 100 issues;
      • 90 issues are under a issue type which should have a field named "Color";
      • 80 of those issues have a value for the "Color" field;
      • 30 of those 80 issues have the color set to "Red";
      • The below query returns 50 issues, whereas it should return 70 issues based on the logical value of !=, which is "not equals to", what should imply "empty" or "null";
        Color != "Red"
        

      Example #3

      • Below query, should returns all issues with fixVersion not equals to 2.
        fixVersion not in (2) 
        
      • but it doesn't return issues with EMPTY values in fixVersion
      • Proper JQL query is, which is not intuitive:
        fixVersion not in (2) or fixVersion is EMPTY
        
      • Taking into account that IN is alias to (= OR , ...)

      Steps to Reproduce

      1. Run a filter similar to the below;
        assignee != admin
        
      2. Un-assign one of the issues returned by the filter;
      3. Re-run the search;

      Notice the unassigned issue will be now be missing.

      Workaround

      Create a filter for issues which have a positive match for the value you are trying to exclude.

      Example

      1. Create a new filter with the below query and give it a name (e.g. Admin's Issues)
        assignee = admin
        
      2. Run a search with the below query;
        filter != "Admin's Issues"
        

      Testing Notes

      Using Luke to query the Lucene index directly and searching for -color:red you get 70 issues on the use-case presented above (in "Example #1", under "Actual Behavior").

              Unassigned Unassigned
              adc6ee404f6d Jeff Kirby
              Votes:
              131 Vote for this issue
              Watchers:
              103 Start watching this issue

                Created:
                Updated:
                Resolved: