---
title: Source Code Management Providers
description: >-
  Connect your Git repositories to Datadog through source code management (SCM)
  provider integrations.
breadcrumbs: Docs > Source Code Integration > Source Code Management Providers
---

# Source Code Management Providers

## Overview{% #overview %}

To use most source code-related features, you must connect your Git repositories to Datadog through Datadog's first-party source code management (SCM) provider integrations. After connecting your repositories, Datadog may store the contents of your repositories for up to 7 days to reduce repeated requests to the repository and support feature performance.

## Source code management providers{% #source-code-management-providers %}

Datadog supports the following features for the SCM providers listed below. See [Features](https://docs.datadoghq.com/source_code/features/) for more details about each feature:

| Feature                      | GitHub                                      | GitLab                                | Azure DevOps               | Bitbucket                           |
| ---------------------------- | ------------------------------------------- | ------------------------------------- | -------------------------- | ----------------------------------- |
| **Connect SaaS Instance**    | Yes(GitHub.com and GitHub Enterprise Cloud) | Yes(GitLab.com)                       | Yes(Azure DevOps Services) | No(Bitbucket.org)                   |
| **Connect On-Prem Instance** | Yes(GitHub Enterprise Server)               | Yes(GitLab Self-Managed or Dedicated) | No(Azure DevOps Server)    | No(Bitbucket Data Center or Server) |
| **Context Links**            | Yes                                         | Yes                                   | Yes                        | Yes                                 |
| **Code Snippets**            | Yes                                         | Yes                                   | Yes                        | No                                  |
| **PR Comments**              | Yes                                         | Yes                                   | Yes                        | No                                  |

{% tab title="GitHub (SaaS & On-Prem)" %}

{% alert level="info" %}
Repositories from GitHub instances are supported for GitHub.com, GitHub Enterprise Cloud (SaaS), and GitHub Enterprise Server (On-Prem). For GitHub Enterprise Server, your instance must be accessible from the internet. If needed, you can allowlist [Datadog's `webhooks` IP addresses](https://docs.datadoghq.com/api/latest/ip-ranges/) to allow Datadog to connect to your instance.If your instance is hosted on an internal/private network but exposed through a public DNS alias (recommended), configure the integration using the public hostname, then [contact Datadog Support](https://docs.datadoghq.com/help) with both the public hostname and the internal hostname to enable hostname aliasing.
{% /alert %}

Install Datadog's [GitHub integration](https://docs.datadoghq.com/integrations/github/) using the [integration tile](https://app.datadoghq.com/integrations/github/) or while onboarding other Datadog products to connect to your GitHub repositories.
{% /tab %}

{% tab title="GitLab (SaaS & On-Prem)" %}

{% alert level="info" %}
Repositories from GitLab instances are supported for both GitLab.com (SaaS) and GitLab Self-Managed/Dedicated (On-Prem). For GitLab Self-Managed, your instance must be accessible from the internet. If needed, you can allowlist [Datadog's `webhooks` IP addresses](https://docs.datadoghq.com/api/latest/ip-ranges/) to allow Datadog to connect to your instance.If your instance is hosted on an internal/private network but exposed through a public DNS alias (recommended), configure the integration using the public hostname, then [contact Datadog Support](https://docs.datadoghq.com/help) with both the public hostname and the internal hostname to enable hostname aliasing.
{% /alert %}

Install Datadog's [GitLab Source Code integration](https://docs.datadoghq.com/integrations/gitlab-source-code/) using the [integration tile](https://app.datadoghq.com/integrations/gitlab-source-code/) or while onboarding other Datadog products to connect to your GitLab repositories.
{% /tab %}

{% tab title="Azure DevOps (SaaS Only)" %}

{% alert level="warning" %}
Repositories from Azure DevOps instances are supported for Azure DevOps Services (SaaS). Azure DevOps Server (On-Prem) is **not** supported.
{% /alert %}

Install Datadog's Azure DevOps Source Code integration using the [integration tile](https://app.datadoghq.com/integrations/azure-devops-source-code/) or while onboarding other Datadog products to connect to your Azure DevOps repositories.
{% /tab %}

{% tab title="Other SCM Providers" %}

{% alert level="danger" %}
Repositories on self-hosted instances or private URLs are not supported out-of-the-box. To enable this feature, [contact Support](https://docs.datadoghq.com/help).
{% /alert %}

If you are using any other SCM provider, you can still manually link telemetry with your source code. To do so, upload your repository metadata with the [`datadog-ci git-metadata upload`](https://github.com/DataDog/datadog-ci/tree/master/packages/base/src/commands/git-metadata) command. `datadog-ci v2.10.0` or later is required.

When you run `datadog-ci git-metadata upload` within a Git repository, Datadog receives the repository URL, the commit SHA of the current branch, and a list of tracked file paths.

Run this command for every commit that you need to be synchronized with Datadog.

### Validation{% #validation %}

To ensure the data is being collected, run `datadog-ci git-metadata upload` in your CI pipeline.

You can expect to see the following output:

```gdscript3
Reporting commit 007f7f466e035b052415134600ea899693e7bb34 from repository git@my-git-server.com:my-org/my-repository.git.
180 tracked file paths will be reported.
Successfully uploaded tracked files in 1.358 seconds.
Syncing GitDB...
Successfully synced git DB in 3.579 seconds.
✅ Uploaded in 5.207 seconds.
```

{% /tab %}

## Further reading{% #further-reading %}

- [Learn about the GitHub Integration](https://docs.datadoghq.com/integrations/github/)
- [Learn about the GitLab Source Code Integration](https://docs.datadoghq.com/integrations/gitlab-source-code/)
- [Learn about the Azure DevOps Source Code Integration](https://docs.datadoghq.com/integrations/azure-devops-source-code/)
