RD-15247: Reimplement JQL generation #17
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Main issue is that we do not rewrite
IS NULL
orIS NOT NULL
correctly. They come asx = NULL
orx != NULL
. In JQL they have to be rewritten asIS EMPTY
orIS NOT EMPTY
. That's what is fixed here.It's now possible to filter issues without a description (or with a description with
IS NOT NULL
).Still, some fields can't be filtered with
IS NULL
, it's enforced by JQL. Like that fieldid
used in the original bug report.Later the ticket was changed to failing on
epic_key IS NULL
.epic_key
can legitimately be null, but filtering it for=
or!=
can't use the same keyword as when filtering forIS NULL
.This patch is refactoring the JQL generation, case by case. That has some advantages:
IN
andNOT IN
when supported (this is new), orIS NULL
self = ...
) while before we were assuming all were supported,RD-15251
(pushing ofLIMIT
) or tell the user,I had to delete two tests that were testing the infrastructure, since now the
DasJiraTableManager
needs connectivity to a JIRA server to know the user timezone.