Understanding JQL WAS Keyword in Jira Queries

I’m having trouble with a Jira query using the WAS operator and can’t get it to work properly.

My current JQL looks like this:

project = TESTPROJ and assignee was michaelsmith

According to the Jira documentation, the WAS operator should find tickets that currently have or previously had the specified value for that field. It’s supposed to work with fields like Assignee, Fix Version, Priority, Reporter, Resolution and Status.

The weird thing is that I have a ticket currently assigned to michaelsmith, but my query returns nothing. However, when I change the query to use the equals operator instead:

project = TESTPROJ and assignee = michaelsmith

The ticket shows up just fine. What could be causing this behavior? Is there something about how the WAS operator functions that I’m not understanding correctly?

The WAS operator has quirks that aren’t in the docs. It relies on Jira’s change history tracking - if there’s no recorded history change for that field, WAS won’t return results even for current values. This happens when a ticket gets assigned directly to michaelsmith during creation instead of being reassigned later. WAS looks at the audit trail, not current state. Check if that ticket has any assignee changes in its history tab. If it was assigned to michaelsmith from the start and never changed, that’s why WAS returns nothing while equals works fine. You’ll need a combination like assignee = michaelsmith OR assignee was michaelsmith to catch both scenarios.

Sounds like a permissions problem. WAS operators need special access for history data - it’s different from regular field queries. Check if you’ve got “browse project” and “view development tools” permissions. WAS queries just fail silently without them. Also, michaelsmith might have visibility restrictions that block historical lookups even though you can see current assignments.

I’ve seen this exact issue before. Your Jira’s indexing is probably out of sync - happens a lot after system updates or bulk operations. The WAS operator pulls from a different index than current field values, which is why equals works but WAS doesn’t. If you’ve got admin access, try rebuilding the search index in Administration settings. Just heads up though - WAS queries are way slower since they dig through historical records. If this keeps happening, I’d go with Pete’s combined approach and create a saved filter instead of relying on WAS.