Skip to content

GLQL error when filtering for milestone != none

Summary

I’m getting the following error:

- Argument 'milestoneWildcardId' on InputObject 'NegatedIssueFilterInput' has an invalid value (NONE). Expected type 'NegatedMilestoneWildcardId'.

with this GLQL block:

---
display: table
fields: title, state, healthStatus, assignee, epic, milestone, labels("group::*"), labels("severity::*"), labels("workflow::*"), weight, updatedAt
---
group = "gitlab-org" AND opened = true AND label = ("AI", "type::bug") AND milestone != none

It seems to work when I have milestone = none and from the docs it looks like milestone != none should also work.

I raised this in Slack and this appears to be a bug with the workaround being to use milestone = any instead.

Implementation Guide

The fix should be fairly straightfoward here. Add a condition to transformStatement that matches milestone and the != operator and none and transform it to = and any.

In fact, the reverse can also be done; convert milestone != any to milestone = none .

The negation filter works with UPCOMING and STARTED so there's no need to catch these two bare words.

Edited by John Hope