> For the complete documentation index, see [llms.txt](https://docs.reo.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reo.dev/integrations/input-sources/developer-insights/github.md).

# GitHub

Connecting GitHub repositories to Reo.Dev allows you track developers' actions, such as raise pull request, watch, fork, open an issue, and comment.

Along with connecting your own repository, you can also connect competitors' and complementary repositories. Reo.Dev will then track developer activities across all these repositories.

{% hint style="info" %}
**Note**: Only Admins can connect GitHub repository.
{% endhint %}

There are two parts to setting up GitHub:

* **adding** your repositories: this gets a repository connected to Reo
* **authenticating** your owned repositories: this is a separate, one-time step for owned repositories only, [covered in Part 2 below](#part-2-authenticating-your-owned-repositories).

***

## Part 1: Adding your repositories

**Step 1:** From the left navigation, click on **Settings > Integrations**.

<figure><img src="https://2705882080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx46P5sAHxDG7PqOdVLxI%2Fuploads%2FQ67TFm1k74XxD2RyGG1D%2FGH%20configure%201.png?alt=media&amp;token=7cd6e443-65c9-4977-8ef4-1765ff5efe9f" alt=""><figcaption></figcaption></figure>

**Step 2:** Find the GitHub card and click '**Configure**'.

<figure><img src="https://2705882080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx46P5sAHxDG7PqOdVLxI%2Fuploads%2FfIN6rO0lpNyyIiXqWte9%2FGH%20configure%202.png?alt=media&amp;token=f8cd1edb-ce45-423b-9880-94f486a44340" alt=""><figcaption></figcaption></figure>

**Step 3:** Connect the three main types of repositories.

* **Owned GitHub repositories**: Repositories that your organization directly manages and maintains on GitHub.
* **Competitor repositories:** Repositories managed by organizations that compete with your products or services.
* **Complementary repositories:** Repositories that offer tools or resources that enhance or work well with your products or services.

**Step 4: Add repositories -** to add your company's own repositories, expand the tab for '**Owned GitHub Repositories**' and enter the URL of your repository. Add multiple repositories if needed.

<figure><img src="https://2705882080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx46P5sAHxDG7PqOdVLxI%2Fuploads%2FI25gmOmvmeZF6RFHC0h2%2FGH%20configure%203.png?alt=media&amp;token=d841c2c7-f1b6-480e-aa8d-c9b73d01b0f3" alt=""><figcaption></figcaption></figure>

**Step 5:** Follow the same process to add competitor and complementary repositories.

**Step 6:** After adding all the repositories, click **Save**.

<figure><img src="https://2705882080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx46P5sAHxDG7PqOdVLxI%2Fuploads%2FEHS6f2WoZ3M9AWKdBSrN%2FGH%20configure%204.png?alt=media&amp;token=dcabcf5c-6d0c-4d25-a151-a689e282083a" alt=""><figcaption></figcaption></figure>

***

## Part 2: Authenticating your owned repositories

Adding a repository connects it to Reo. Authenticating it is what gets you:

* Deeper insights into how developers engage with your repositories
* Faster, more dependable syncing, so your data is always current
* A tighter, more resilient integration between GitHub and Reo

### Who's involved

Two roles are involved - they can be either the same person or two different people.

* **Reo Admin:** Has Admin access to your Reo account
* **GitHub Admin:** Has admin rights on the specific GitHub repository you're authenticating.

If you're the Reo Admin but not the GitHub Admin, you'll need to loop in whoever is. The steps below show you how.

***

## How to authenticate a repository

Watch this quick video walkthrough of how to authenticate your GitHub repositories before you dive in.

{% hint style="info" %}
**Note:** Authentication applies only to repositories you own, not competitor or complementary repositories.
{% endhint %}

{% embed url="<https://reo-dev.portal.trainn.co/share/s0rCALkYmsqPeGVBjvq9pA>" %}

**Step 1:** From the left navigation, select **Settings** **→** **Integrations → GitHub** card **→** open **Owned GitHub Repositories**.

**Step 2:** Find the repository and click the **Share auth link** button next to it.

**Step 3:** A window opens asking you to send a secure authentication link to the repository's admin.

* If you have admin rights on the repository yourself, enter your own email address.
* If you don't, enter the GitHub Admin's email address instead.

{% hint style="info" %}
**Note:** The person you send this to doesn't need a Reo account to authenticate the repository.
{% endhint %}

**Step 4:** Click **Email auth link**.

**Step 5:** You'll see a confirmation that the email has been sent. The same window also shows the link itself, which you can copy and share directly, for example over Slack, instead of relying on email.

{% hint style="info" %}
**Note:** The link is valid for **7 days**. If it expires before it's used, generate a new one.
{% endhint %}

**Step 6:** The repository now shows an **Auth pending** status. Hover over it to see a tooltip confirming the request was emailed to the repo admin, with a **Check status** button inside it to refresh the status.

**Step 7:** The GitHub Admin opens the link and signs in to GitHub if needed.

**Step 8:** They click **Authorize reodotdev**.

**Step 9:** GitHub may ask them to verify their identity with a code sent to their email. This is a standard GitHub step, not something specific to Reo.

**Step 10:** After verifying, they're redirected back to the GitHub configuration screen in Reo. The repository now shows a green GitHub icon, confirming authentication succeeded.

{% hint style="info" %}
**Note:** Repeat this process for each repository that doesn't already have admin access covered by someone who's authenticated before.
{% endhint %}

***

### Repository statuses

<table><thead><tr><th width="168.53515625">Status</th><th width="232.59375">What it means</th><th>What to do</th></tr></thead><tbody><tr><td>Share auth link (button visible, no status)</td><td>The repository hasn't been authenticated yet</td><td>Click Share auth link to start</td></tr><tr><td>Auth pending</td><td>A link has been sent and Reo is waiting on the GitHub Admin to complete it</td><td>No action needed yet. Click Check status to refresh, or follow up with the GitHub Admin if it's been a while</td></tr><tr><td>Connected (green GitHub icon)</td><td>Authentication succeeded</td><td>Nothing to do</td></tr><tr><td>Auth failed</td><td>The GitHub Admin wasn't able to complete authentication</td><td>Click Share auth link again and confirm you're sending it to someone with admin access on that specific repository</td></tr></tbody></table>

A repository shows **Auth failed** for one of three reasons:

* The user doesn't have admin access to that repository
* The authorization request was canceled or declined
* The wrong GitHub account was used, for example a personal account instead of the correct one

***

## Authentication and new repositories

Authentication is tied to the person who completes it, not to the repository itself.

* Going forward, if that same person has admin rights on a new repository you add to Reo, it connects automatically, no separate authentication needed.
* This includes a repository you remove and add back later.

**This doesn't apply retroactively.**

* If you already have several owned repositories in Reo, authenticating one of them doesn't authenticate the others.
* Each existing repository still needs to [go through the steps above individually](#how-to-authenticate-a-repository), even if the same person has admin rights on all of them.

{% hint style="info" %}
**Note:** A repository can have more than one GitHub Admin. Any one of them can complete authentication for that repository.
{% endhint %}

***

### What to expect if Reo's team helps you authenticate

If your Customer Success contact is helping you get your repositories authenticated, here's what that looks like:

* They'll ask you who has admin access on GitHub for each of your owned repositories.
* They'll send an authentication link to that person, either directly by email or by sharing it with you to pass along.
* The person receiving the link doesn't need a Reo account. They just need admin access to the repository on GitHub.
* Each repository is authenticated separately. If you have several repositories, expect a link for each one that isn't already covered by someone who's authenticated before.

***

### Adding a new owned repository

**Step 1:** Go to **Integrations → GitHub → Owned GitHub Repositories** and click **Add new**.

**Step 2:** Enter the repository URL and click **Save**.

**Step 3:** Reo checks whether someone who's already authenticated has admin rights on this repository.

* If yes, the repository connects automatically.
* If not, follow the steps in ["How to authenticate a repository" above](#how-to-authenticate-a-repository).

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.reo.dev/integrations/input-sources/developer-insights/github.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
