Loading
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:
ORselections are sent under theorfilter bucket (for exampleor[assignee_username][]), mapping to the plural union fields (assigneeUsernames,authorUsernames,labelNames). - Type:
UnionedIssueFilterInputhas no type field, so an "is one of" Type selection is not sent as an OR union. Instead it is sent as a multi-valueworkItemTypeIdslist, 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
typesto the array formtype[](percent-encoded astype%5B%5D), matching the work items list URL format. A read-time fallback for the legacytypesparam was added so existing bookmarked board URLs keep working.
References
- Using `or` in issue/mr/epic list views and boards (gitlab-org#9260)
- Allow OR filtering in ISSUE boards (#394949 - closed)
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
![]() |
![]() |
How to set up and validate locally
- Open a project or group issue board.
- Open the filtered search.
- Add an Assignee, Author, Label, or Type token.
- Choose the "is one of" operator.
- Select multiple values.
- Confirm the board filters to items matching any of the selected values.
- For a Type token, verify the URL uses
type%5B%5D.
Test an old url
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



