Skip to main content

Overview

SYNQ integrates with your Git repositories to extract information about code changes across your data platform. This integration works with multiple frameworks and tools, including:
  • dbt (Data Build Tool)
  • Looker (LookML)
  • SQLMesh
  • Coalesce (Transform)
  • Custom entities
  • Any other data transformation or analytics code
By connecting your Git repositories, SYNQ enables:
  • Display model changes in the SYNQ interface with optional diffs for quick inspection and troubleshooting
  • Show recent Git commits for failing models in alerts, helping you identify what changed
  • Link code changes to data assets for easier debugging
  • Understand the impact of code changes on data quality
  • Track lineage from code to data warehouse
  • Provide context for data incidents with relevant code changes

Supported Git Providers

SYNQ works with any Git provider that supports SSH access. We provide native support and detailed guides for the following providers:

Primary Supported Providers

  • GitHub (Cloud and Enterprise)
  • GitLab (Cloud and self-managed)
  • Bitbucket (Cloud and Server/Data Center)
  • Azure DevOps Repos

Other Providers

  • Self-hosted Git (Gitea, Gogs, etc.)
  • Any other SSH-based Git provider
SYNQ uses a unified integration form that works with all SSH-based Git providers. Choose your provider below for specific deployment key setup instructions:

Integration Requirements

To successfully integrate your Git repository with SYNQ, your Git provider must meet the following requirements:

1. Internet Accessibility

Your Git repository must be accessible over the internet. Access can be limited to SYNQ’s static egress IP addresses for your region. See SYNQ IP Whitelist for the complete list of IP addresses.

2. SSH Access

  • Git repository must be accessible via SSH (typically port 22)
  • Only SSH URLs are supported - HTTPS URLs will not work
  • SYNQ uses SSH deploy keys for secure, read-only access

3. Authentication

  • Repositories must support authentication using deploy keys (SSH keys)
  • SYNQ follows the principle of least privilege and requires read-only access limited to the selected repository

IP Whitelisting

If your organization uses IP whitelisting for Git provider access, you’ll need to add SYNQ’s egress IP addresses to your allowlist. Consult your provider’s documentation for specific instructions:

GitHub

GitLab

Setup Overview

Setting up a code integration involves two main steps:
  1. Configure the integration in SYNQ using the universal Git integration form
  2. Add the deploy key to your Git provider following provider-specific instructions

Configuring the Integration in SYNQ

All Git providers use the same integration form in SYNQ. Navigate to Settings > Add integration > Git to get started.

Integration Name

Provide a descriptive name for your integration. Examples:
  • Production Analytics Repo
  • Data Platform GitHub
  • Bitbucket Staging

Repository URL (SSH)

Enter the SSH URL of your Git repository. Format: git@hostname:organization/repository.git Examples:
Only SSH URLs are supported. HTTPS URLs will not work.

Branches to Analyse

Specify which branches SYNQ should analyze.
  • Default: Leave empty to automatically use main or master
  • Custom: Enter specific branch names (e.g., develop, staging, production)

Path to Analyse

Define the directory path where your source code is located.
  • Default: Leave empty to analyze the entire repository
  • Custom: Enter a subdirectory path (e.g., analytics/, transform/dbt/)
In most cases, analyzing the entire repository (default) is recommended.

Commit URL Format (Optional)

For most Git providers (GitHub, GitLab, Bitbucket), SYNQ automatically determines the correct commit URL format. For custom or self-hosted instances, you may need to specify it manually. Available Placeholders:
  • {owner} - Repository owner/organization
  • {name} - Repository name
  • {hash} - Commit hash
  • {branch} - Branch name
  • {web_url} - Repository web URL
  • {provider} - Git provider (github, gitlab, bitbucket, azuredevops)
Format Examples:
  • GitHub: https://github.com/{owner}/{name}/commit/{hash}
  • GitLab: https://gitlab.com/{owner}/{name}/-/commit/{hash}
  • Bitbucket: https://bitbucket.org/{owner}/{name}/commits/{hash}
  • Custom: {web_url}/commit/{hash} (works with most Git providers)
Leave this field empty unless you’re using a custom Git instance that requires a specific URL format.

Data Collection

Store commit diff: Enable this option (checked by default) to allow SYNQ to collect and display actual code changes in the Code & Changes screen.

Create and Get Public Key

Click Create to generate the integration. After creation, navigate back to edit the integration to view the public SSH key.
The public key is generated when you create the integration but is only visible when you edit the integration afterward. Make sure to copy it before proceeding to add it to your Git provider.

Access Permissions

SYNQ requires admin access to the repository to configure deploy keys. However, the deploy key itself only provides read-only access to the repository content. This ensures:
  • SYNQ cannot modify your code
  • Access is limited to the specific repository
  • No organization-wide permissions are granted

Adding Deploy Keys to Your Git Provider

After creating the integration in SYNQ and copying the public SSH key, you need to add it as a deploy key in your Git provider. The process varies by provider. Choose your Git provider for detailed setup instructions: