Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Category Strategy - Code Search

   
Stage Enablement
Maturity Viable
Content Last Reviewed 2021-10-02
Content Last Updated 2021-10-02

Overview

GitLab’s Code Search allows users to search through all the code in the GitLab instance while directly in GitLab. As codebases and developers grow, Code Search becomes a required part of the DevOps cycle. As part of GitLab's single application vision, GitLab must provide a rich and seamless code search experience so that customers do not have to rely on using external solutions for Code Search.

The more source code that is added to GitLab, the more useful Code Search becomes.

There are two primary use cases for Code Search:

Vision

Code Search will become the tool for developers to quickly learn about all the Source Code in GitLab. Users will navigate through the code and filter down to their desired line(s) of code. Users can then track the relationships of the code to all other GitLab content, like Commits, Issues, and Merge Requests, to understand the origin and reason for a change.

GitLab is in a unique position to deliver high-quality Code Search. All code is already stored in GitLab and indexed in Elasticsearch, along with other supporting content related to code like merge requests, commits, and issues.

Understanding these relationships and eventually understanding clusters from these relationships correlate with the visions across many areas of GitLab.

A vision for Code Search in GitLab

Collaboration

There are many stages and categories that are solving parts of the problem of Big Code. Collaboration with these stages and categories is imperative to success, as we are solving adjacent problems.

Challenges to address

Code Search for Big Code - The code that companies maintain is rapidly increasing in complexity and volume. The rapid increase brings on a series of unique challenges in how to address these needs.

Insights from code search research for Global Search - We have conducted studies with our customers to identify and better understand the needs for code Search today.

2021 Goals FY22 / One-year plan

Desired Results

As the capabilities of Code Search improve, the number of code search users will increase. Code Search users will be regularly more efficient and productive than users who use other tools or 3rd Party code search products.

Code Search will enable the growth and progression of other GitLab products that aim to solve similar problems.

Measuring Success - Target PI's / Metrics

The performance and success of Code Search can be measured:

Target Audience and Experience

Code Search is primarily valuable to organizations with more than 200 users.

User personas

  1. Sasha, the Software Developer
  2. Devon the DevOps Engineer
  3. Delaney, the Development Team Lead

Buyer personas

  1. Alex the Application Development Manager
  2. Dakota the Application Development Director
  3. Erin, the Application Development Executive (VP, etc.)

Maturity

Currently, GitLab's maturity for Code Search is Viable. The functionality of searching code across repositories is functional and is in use today across most GitLab.com customers.

Advancing Code Search from “Viable” to “Complete” will include;

What's Next & Why

Federated Search We find that larger organizations will often have more than one instance of GitLab, including multiple self-managed instances and repositories in GitLab.com. Not offering this capability limits the value of Code Search to our customers with these cases.

Federated Search is the most requested Code Search capability from our prospective customers.

Local Editor-like Search Functionality, Our user research for Code Search indicates that the expected keyword functionality closely aligns with how search works on a Local IDE. The specific value areas are Exact string matching, showing more than one line of results per source file, RegEx search syntax, and case sensitivity.

Local Editor-like Search Functionality is the most requested Code Search capability from our current customers.

We will not focus on;

Supporting the product vision of a single application experience, we are not expanding support for integrating additional 3rd party code search tools.

Competitive Landscape

Code Search is part of the Global Search competitive landscape

Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license