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 |
|---|---|
![]() |
![]() |
How to set up and validate locally
-
Enable the FF
search_scope_work_item -
Make sure you have elastic search enabled in your gdk
-
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
- Go to Admin Area > Subscription
- Ensure you have a valid EE license installed (required for Elasticsearch)
5. Enable Advanced Search in GitLab
- Go to Admin Area > Settings > Search > Advanced Search
- Select the Turn on indexing for advanced search checkbox
- Click Save changes
6. Index the Instance
Option A: Via UI
- Go to Admin Area > Settings > Search > Advanced Search
- Select the Index the instance checkbox
- Click Save changes
Option B: Via Rake Task
Insert at cursor
cd gitlab bundle exec rake gitlab:elastic:index7. Monitor Indexing Progress
Via UI:
- Go to Admin Area > Settings > Search > Advanced search indexing status
Via Rake Task:
Insert at cursor
cd gitlab bundle exec rake gitlab:elastic:info8. Enable Search with Advanced Search
Once indexing is complete (or even during):
- Go to Admin Area > Settings > Search > Advanced Search
- Select the Search with advanced search checkbox
- Click Save changes
-
Go to advanced search and do a group/project search
-
See that the work item types filter works as expected
-
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

