argoproj/argo-events

Data filter in Argo Events does not work properly when using the comparator "not equal" with multiple options

dyslabpro opened this issue · 2 comments

Describe the bug
Data filter with comparator != and multiple options will always return true.

To Reproduce

filters:
  data:
    - path: body.value
      type: string
      comparator: "!="
      value:
        - "foo"
        - "bar"

Expected behavior
The filter should use the logical expression body.value not in [foo, bar] instead of body.value != foo or body.value != bar.

If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

@dyslabpro

Try using the following configuration:

filters:
  dataLogicalOperator: "and"
  data:
    - path: body.value
      type: string
      comparator: "!="
      value:
        - "foo"
    - path: body.value
      type: string
      comparator: "!="
      value:
        - "bar"

This issue has been automatically marked as stale because it has not had
any activity in the last 60 days. It will be closed if no further activity
occurs. Thank you for your contributions.