--- 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 %} {% callout %} # Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com {% alert level="danger" %} The GitLab Source Code integration is not supported on your selected site ({% placeholder "user-datadog-site-name" /%}). On GovCloud, use the [GitHub integration](https://docs.datadoghq.com/integrations/github.md) for source code connectivity. {% /alert %} {% /callout %} Datadog supports the following features for the SCM providers listed below. See [Features](https://docs.datadoghq.com/source_code/features.md) 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.md) 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.md) 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)" %} {% callout %} # Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com {% alert level="danger" %} The GitLab Source Code integration is not supported on your selected site ({% placeholder "user-datadog-site-name" /%}). On GovCloud, use the [GitHub integration](https://docs.datadoghq.com/integrations/github.md) for source code connectivity. {% /alert %} {% /callout %} {% 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.md) 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.md) 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.md) - [Learn about the GitLab Source Code Integration](https://docs.datadoghq.com/integrations/gitlab-source-code.md) - [Learn about the Azure DevOps Source Code Integration](https://docs.datadoghq.com/integrations/azure-devops-source-code.md)