Connect to a third-party Git repository

This document shows you how to connect a remote repository to a Dataform repository. After you connect the repositories, the changes you make in a Dataform development workspace can be pushed to and pulled from the remote Git repository.

You can connect a remote repository through HTTPS or SSH.

The following table lists supported Git providers and connection methods that are available for their repositories:

Git provider Connection method
Azure DevOps Services SSH
Bitbucket Developer Connect (recommended), SSH
GitHub Developer Connect (recommended), SSH, or HTTPS
GitLab Developer Connect (recommended), SSH, or HTTPS

Before you begin

  1. If your organization or project restricts remote Git repositories with the dataform.restrictGitRemotes Organization Policy, ensure that the remote Git repository is added to the allowlist in the policy before you create the Dataform repository that you want to connect to a remote repository. For more information, see Restrict remote repositories.
  2. Select or create a Dataform repository. You need the repository later to share a secret with your default Dataform service agent.

  3. Ensure that you have the necessary permissions in your Git provider and that your Dataform repository is in a supported region.

  4. Enable the Developer Connect API.

  5. If you're connecting Developer Connect to a Bitbucket repository, ensure that your authorizer access token has write access to your repositories so that Dataform can push changes. For more information, see Create access tokens.

Network connectivity requirements and limitations

Before you connect your remote Git repository to Dataform, ensure that your network configuration meets the requirements for your chosen connection method.

Private network connections

Dataform doesn't support direct connections to private IP addresses (for example, 10.x.x.x, 172.16.x.x-172.31.x.x, or 192.168.x.x) of on-premises Git hosts or repositories in private networks using HTTPS or SSH. This includes access using a virtual private cloud (VPC), VPN, or Cloud Interconnect.