> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub Integration

> Add deploy keys to GitHub repositories for Coalesce Quality

## Overview

This guide covers how to add the generated public SSH key as a deploy key to your GitHub repository.

<Info>
  **Before you start:** Create your Git integration first by following the [integration form instructions](/code-integrations/overview#configuring-the-integration). You'll need the public SSH key from that integration.
</Info>

## Prerequisites

* Access to GitHub
* **Admin access** to your repository (required to add deploy keys)
* Public SSH key from your Git integration

<Note>
  ⏱️ **Estimated time:** 5 minutes
</Note>

## IP Whitelisting (If Required)

If your GitHub organization uses IP allow lists, add the Coalesce Quality egress IP addresses for your region. See [IP Whitelist](/security/ip) for the complete list.

For instructions on adding IP addresses to GitHub, see GitHub's guide on [managing allowed IP addresses](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization).

## Adding the Deploy Key

Follow these steps to add the public key as a deploy key to your GitHub repository.

### Navigate to Your Repository

1. In the upper-right corner of any GitHub page, click your **profile photo**, then click **Your profile**

   <Frame>
     <img src="https://mintcdn.com/synq-15/FoG6-YKTU-ydVrtS/images/git/github-int-1.png?fit=max&auto=format&n=FoG6-YKTU-ydVrtS&q=85&s=c1e4d43b3792d2fe03ae6257ba279ade" alt="Navigate to profile" width="478" height="780" data-path="images/git/github-int-1.png" />
   </Frame>

2. On your profile page, click **Repositories**, then click the name of your repository

   <Frame>
     <img src="https://mintcdn.com/synq-15/FoG6-YKTU-ydVrtS/images/git/github-int-2.png?fit=max&auto=format&n=FoG6-YKTU-ydVrtS&q=85&s=dbb5dc797947b486f3f7ced00a447bce" alt="Select repository" width="1312" height="472" data-path="images/git/github-int-2.png" />
   </Frame>

### Access Repository Settings

3. From your repository, click **Settings**

   <Frame>
     <img src="https://mintcdn.com/synq-15/FoG6-YKTU-ydVrtS/images/git/github-int-3.png?fit=max&auto=format&n=FoG6-YKTU-ydVrtS&q=85&s=c661fd67153adb4615217840f9b2fc90" alt="Repository settings" width="1328" height="220" data-path="images/git/github-int-3.png" />
   </Frame>

<Warning>
  If you don't see the **Settings** tab, you likely don't have admin access to the repository. Contact your repository administrator to add the deploy key.
</Warning>

### Add the Deploy Key

4. In the sidebar, click **Deploy Keys**, then click **Add deploy key**

   <Frame>
     <img src="https://mintcdn.com/synq-15/FoG6-YKTU-ydVrtS/images/git/github-int-4.png?fit=max&auto=format&n=FoG6-YKTU-ydVrtS&q=85&s=a2362a295faf647eef15cd3944dbe06f" alt="Add deploy key" width="1320" height="436" data-path="images/git/github-int-4.png" />
   </Frame>

5. Configure the deploy key:

   * **Title:** Enter a descriptive name (e.g., `Coalesce Quality Integration`)
   * **Key:** Paste the public key from your integration (Step 1)
   * **Allow write access:** Leave this checkbox **unticked** (unchecked)

   <Frame>
     <img src="https://mintcdn.com/synq-15/FoG6-YKTU-ydVrtS/images/git/github-int-5.png?fit=max&auto=format&n=FoG6-YKTU-ydVrtS&q=85&s=deb9040e37761d8f0701a19daf99c6fc" alt="Configure deploy key" width="1348" height="784" data-path="images/git/github-int-5.png" />
   </Frame>

<Warning>
  **Do not grant write access.** Coalesce Quality only requires read-only access to your repository.
</Warning>

6. Click **Add key** to save the deploy key

That's it! Your GitHub repository is now connected in read-only mode.

## Troubleshooting

### Deploy key not working

* Verify the **complete public key** was copied (including the `ssh-rsa` or `ssh-ed25519` prefix)
* Ensure the deploy key was added to the **correct repository**
* Confirm **write access is disabled** (unchecked)

### Connection refused

* Check that your GitHub organization's **IP allow list** (if configured) includes the Coalesce Quality egress IPs
* Verify the repository **SSH URL** is correct in the integration form

### No Settings tab visible

* Confirm you have **admin access** to the repository
* Organization owners may need to adjust access permissions

## Additional Resources

* [GitHub Deploy Keys Documentation](https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys)
* [GitHub IP Allow Lists](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization)
* [Back to Integration Overview](/code-integrations/overview)
