Issue boards: Add or to filtered search

What does this MR do and why?

Adds support for the OR operator, shown in the UI as "is one of", to the issue board's filtered search. It applies to the Assignee, Author, Label, and Type tokens. This brings the issue board to feature parity with the work items list view (the "planning view"), which already offered "is one of" on these tokens.

No backend changes were needed. The board's GraphQL BoardIssueInput type already accepted an or argument backed by UnionedIssueFilterInput (which supports assignee_usernames, author_usernames, and label_names), so this is a frontend-only change.

  • Assignee, Author, and Label: OR selections are sent under the or filter bucket (for example or[assignee_username][]), mapping to the plural union fields (assigneeUsernames, authorUsernames, labelNames).
  • Type: UnionedIssueFilterInput has no type field, so an "is one of" Type selection is not sent as an OR union. Instead it is sent as a multi-value workItemTypeIds list, which the backend already treats as OR (match any). This matches how the work items list handles Type.
  • The Type URL param changed from the board's legacy scalar types to the array form type[] (percent-encoded as type%5B%5D), matching the work items list URL format. A read-time fallback for the legacy types param was added so existing bookmarked board URLs keep working.

References

Screenshots or screen recordings

Before After
before after
before1 after2

How to set up and validate locally

  1. Open a project or group issue board.
  2. Open the filtered search.
  3. Add an Assignee, Author, Label, or Type token.
  4. Choose the "is one of" operator.
  5. Select multiple values.
  6. Confirm the board filters to items matching any of the selected values.
  7. For a Type token, verify the URL uses type%5B%5D.

Test an old url

  1. E.g. https://gdk.test:3000/flightjs/Flight/-/boards/3?author_username=root&types=1#/

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sascha Eggenberger

Merge request reports

Loading
Loading