Skip to content

Support `search` and `in` parameters for issues and merge requests

Problem

Currently, the search and in API parameter for Issues API and Merge Request API are not supported.

The workaround to match a string in title or description is to use ruby: condition field. For example:

    - name: Add ~"code-search" label if zoekt is mentioned
      conditions:
        state: opened
        labels:
          - "group::global search"
        ruby: resource[:title].to_s.match?(/zoekt/i) || resource[:description].to_s.match?(/zoekt/i)

Proposed solution

Support search and in condition for issues, MR APIs (REST and GraphQL) to rewrite the example above as

    - name: Add ~"code-search" label if zoekt is mentioned
      conditions:
        state: opened
        labels:
          - "group::global search"
        search: zoekt
        in:
          - title
            description

Caveats

Merge Request GraphQL does not support search and in parameters.

Out of scope

Resources like epics, work items etc. are out of scope of this issue.

Refs

gitlab-org/quality/triage-ops!3116 (diffs, comment 2194299626)

Edited by Peter Leitzen