Search contexts
This is only available in the Enterprise Edition. Please add your license key to activate it.
A search context is a user-defined grouping of repositories that helps focus searches on specific areas of your codebase, like frontend, backend, or infrastructure code. Some example queries using search contexts:
context:data_engineering userId
- search foruserId
across all repos related to Data Engineering.context:k8s ingress
- search for anything related to ingresses in your k8’s configs.( context:project1 or context:project2 ) logger\.debug
- search for debug log calls in project1 and project2
Search contexts are defined in the context
object inside of a declarative config. Repositories can be included / excluded from a search context by specifying the repo’s URL in either the include
array or exclude
array. Glob patterns are supported.
Example
Let’s assume we have a GitLab instance hosted at https://gitlab.example.com
with three top-level groups, web
, backend
, and shared
:
To make searching easier, we can create three search contexts in our config.json:
web
: For all frontend-related codebackend
: For backend services and shared APIspipelines
: For all CI/CD configurations
Once configured, you can use these contexts in the search bar by prefixing your query with the context name. For example:
context:web login form
searches for login form code in frontend repositoriescontext:backend auth
searches for authentication code in backend servicescontext:pipelines deploy
searches for deployment configurations
Like other prefixes, contexts can be negated using -
or combined using or
:
-context:web
excludes frontend repositories from results( context:web or context:backend )
searches across both frontend and backend code
See this doc for more details on the search query syntax.