Add frontend for WorkItems search

What does this MR do and why?

This merge request adds a new "Work Items" search scope to GitLab's search functionality. The changes create a new search category that allows users to search for work items (like issues, tasks, etc.) with specialised filtering options including a type filter that lets users narrow results by work item type (such as "Issue", "Task", "Epic", etc.).

The feature is controlled by a feature flag and reuses much of the existing issues search functionality since work items are built on top of the issues framework. When enabled, this gives users a dedicated way to search specifically for work items with more granular filtering options than the general issues search.

References

Screenshots or screen recordings

When FF is disabled When FF is enabled
Screenshot 2026-02-11 at 1.14.45 PM.png image

How to set up and validate locally

  1. Enable the FF search_scope_work_item

  2. Make sure you have elastic search enabled in your gdk

  3. In case you dont have it enabled follow the steps or follow documentation

    Enable Elasticsearch in GDK - Complete Steps

    1. Enable Elasticsearch Service

    Insert at cursor`# Enable Elasticsearch in GDK configuration gdk config set elasticsearch.enabled true

    Reconfigure GDK

    gdk reconfigure `

    2. Start Elasticsearch

    Insert at cursor`# Option A: Start as part of GDK gdk start elasticsearch

    Option B: Start in a separate terminal

    elasticsearch `

    3. Verify Elasticsearch is Running

    Insert at cursor

    `# Check if Elasticsearch is responding curl "http://localhost:9200"

    You should see a response with cluster info

    `

    4. Set Up GitLab License

    1. Go to Admin Area > Subscription
    2. Ensure you have a valid EE license installed (required for Elasticsearch)

    5. Enable Advanced Search in GitLab

    1. Go to Admin Area > Settings > Search > Advanced Search
    2. Select the Turn on indexing for advanced search checkbox
    3. Click Save changes

    6. Index the Instance

    Option A: Via UI

    1. Go to Admin Area > Settings > Search > Advanced Search
    2. Select the Index the instance checkbox
    3. Click Save changes

    Option B: Via Rake Task

    Insert at cursor

    cd gitlab bundle exec rake gitlab:elastic:index

    7. Monitor Indexing Progress

    Via UI:

    1. Go to Admin Area > Settings > Search > Advanced search indexing status

    Via Rake Task:

    Insert at cursor

    cd gitlab bundle exec rake gitlab:elastic:info

    Once indexing is complete (or even during):

    1. Go to Admin Area > Settings > Search > Advanced Search
    2. Select the Search with advanced search checkbox
    3. Click Save changes
  4. Go to advanced search and do a group/project search

  5. See that the work item types filter works as expected

  6. For global search this types filter is disabled as suggested in UX review.

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.

Related to &16459

Edited by Siddharth Dungarwal

Merge request reports

Loading