Codeowners ingestion

Code ownership allows you to surface ownership data using CODEOWNERS files. This is done automatically if there is a committed CODEOWNERS file in your repository at any of the following locations:

CODEOWNERS
.github/CODEOWNERS
.gitlab/CODEOWNERS
docs/CODEOWNERS

However, it might be you do not want to have a CODEOWNERS file committed to your repository (for example, to avoid automatic review requests), or you would like to overwrite the existing one.

Sourcegraph provides a UI and CLI to ingest a CODEOWNERS file per-repository, that overrides any existing committed file.

You can ingest one CODEOWNERS file per repository. At this time the same ingested CODEOWNERS file applies to all revisions.

Ingesting a file through the UI

Navigating to any repository page, clicking the Ownership button will surface information about any ingested CODEOWNERS file, and will allow you to upload or update an existing one.

Codeowners ingestion UI on sourcegraph/sourcegraph

Ingesting a file with src-cli

There is the option to ingest data with the Sourcegraph src-cli. The CLI provides add, update, delete, and list functionality.

'src codeowners' is a tool that manages ingested code ownership data in a Sourcegraph instance.

Usage:

	src codeowners command [command options]

The commands are:

	get	returns the codeowners file for a repository, if exists
	create	create a codeowners file
	update	update a codeowners file
	delete	delete a codeowners file

Use "src codeowners [command] -h" for more information about a command.

The input file can be written inline or passed in.

Limitations

  • Uploaded CODEOWNERS files must use either Sourcegraph usernames or email addresses for correct user matching to occur. CODEOWNERS files committed to the repo should use either usernames of the codehost the repo is on (e.g. GitHub) or email addresses.
  • The file should respect CODEOWNERS formatting for code ownership to surface useful information. No formatting validation is done at upload time.
  • Only site admins can add, update or delete a CODEOWNERS file through the ingestion API.
  • Ingested CODEOWNERS files are limited to a size of 10Mb if uploaded through the client.