# GitHub

This article outlines the integration with the GitHub connector, enabling streamlined metadata management through features such as crawling and lineage building (both automatic and manual). It also ensures secure authentication via Credential Manager.

<figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FzHbUZxWczSLFae6lV2df%2Funknown.png?alt=media&#x26;token=b83648ee-0ec4-46eb-8580-639f823720ed" alt=""><figcaption></figcaption></figure>

## Overview

### Connector Details

| Connector Category                                                         | ETL                   |
| -------------------------------------------------------------------------- | --------------------- |
| Connector Version                                                          | Release6.3.4          |
| Releases Supported (Available from)                                        | Release5.3            |
| <p>Connectivity</p><p>\[How the connection is established with GitHub]</p> | REST APIs             |
| Verified GitHub Version                                                    | 2022-11-28 and Latest |

{% hint style="info" %}
The GitHub connector validates with the listed “Verified GitHub Version” and supports other compatible GitHub versions. If there are any issues with validation or metadata crawling, please submit a support ticket for investigation and feedback.
{% endhint %}

### Connector Features

| Feature                                      | Availability |
| -------------------------------------------- | :----------: |
| Crawling                                     |       ✅      |
| Delta Crawling                               |       ❌      |
| Profiling                                    |       ❌      |
| Query Sheet                                  |       ❌      |
| Data Preview                                 |       ❌      |
| Auto Lineage                                 |       ✅      |
| Manual Lineage                               |       ✅      |
| Secure Authentication via Credential Manager |       ✅      |
| Data Quality                                 |       ❌      |
| DAM (Data Access Management)                 |       ❌      |
| Bridge                                       |       ✅      |

### Metadata Mapping

The following objects are crawled from GitHub and mapped to the corresponding UI assets.

<table><thead><tr><th>GitHub Object</th><th width="158.7777099609375">GitHub Attribute</th><th width="174.5555419921875">OvalEdge Attribute</th><th width="175.3333740234375">OvalEdge Category</th><th>OvalEdge Type</th></tr></thead><tbody><tr><td>File</td><td>File From Source</td><td>Code Name</td><td>Codes</td><td>File</td></tr></tbody></table>

## Set up a Connection

### Prerequisites

The prerequisites to establish a connection:

### **Service Account User Permissions**

{% hint style="warning" %}
It is recommended to use a separate service account to establish the connection to the data source, configured with the following minimum set of permissions.
{% endhint %}

{% hint style="info" %}
👨‍💻Who can provide these permissions? The GitHub administrator grants these permissions, since users may not have sufficient access to assign them.
{% endhint %}

| Operations | Objects                                      | Access Permissions |
| ---------- | -------------------------------------------- | ------------------ |
| Crawling   | All files under the selected path/repository | Read Only          |

{% hint style="info" %}
Add or Remove Objects based on the Connector object types.
{% endhint %}

## Connection Configuration Steps

{% hint style="warning" %}
Users must have the Connector Creator role to configure a new connection.
{% endhint %}

1. Log into OvalEdge, go to Administration > Connectors, click + **(New Connector)**, search for **GitHub**, and complete the required parameters.

{% hint style="info" %}
Fields marked with an asterisk (\*) are mandatory for establishing a connection.
{% endhint %}

<table><thead><tr><th width="220.2222900390625">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Type</td><td>By default, "GitHub" is displayed as the selected connector type.</td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on the selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp</li><li>Azure Key Vault</li></ul></td></tr><tr><td>License Add Ons</td><td><p></p><p><br></p><ul><li>Select the Auto Lineage Add-On checkbox to build data lineage automatically.</li></ul></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the GitHub connection              </p><p>(Example: "GitHubdb").</p></td></tr><tr><td>Connector Environment</td><td>Select the environment (Example: PROD, STG) configured for the connector.</td></tr><tr><td>Connector Description</td><td>Enter a brief description of the connector.</td></tr><tr><td>GitHub Organization</td><td>Provide the name of the organization whose repositories the connector will access.</td></tr><tr><td>GitHub Owner</td><td>Provide the account or organization that owns the repository to be accessed.</td></tr><tr><td>Repo Name</td><td>Provide the exact name of the GitHub repository to be connected. It is used to identify and access the target repository for operations such as crawling, syncing, or data extraction.</td></tr><tr><td>Personal Access Token*</td><td>Provide a secure authentication token for accessing GitHub resources. It allows the connector to interact with repositories and perform operations based on the permissions granted to the token.</td></tr><tr><td>GitHub Path</td><td>Provide the repository or organization location to be accessed by the connector.</td></tr><tr><td>Proxy Enabled*</td><td><p>It specifies whether the GitHub connector should route requests through a proxy server.</p><p><br></p><p>Select Yes to enable proxy usage, or No to bypass the proxy for direct connections. </p></td></tr></tbody></table>

**Default Governance Roles**

<table data-header-hidden><thead><tr><th width="220.22222900390625"></th><th></th></tr></thead><tbody><tr><td>Default Governance Roles*</td><td>Select the appropriate users or teams for each governance role from the drop-down list. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**Admin Roles**

<table data-header-hidden><thead><tr><th width="221.11114501953125"></th><th></th></tr></thead><tbody><tr><td>Admin Roles*</td><td>Select one or more users from the dropdown list for Integration Admin and Security &#x26; Governance Admin. All users configured in the security settings are available for selection.</td></tr></tbody></table>

**No of Archive Objects**

<table data-header-hidden><thead><tr><th width="220.22216796875"></th><th></th></tr></thead><tbody><tr><td>No Of Archive Objects*</td><td><p>This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.</p><p>Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.</p></td></tr></tbody></table>

**Bridge**

<table data-header-hidden><thead><tr><th width="220.2222900390625"></th><th></th></tr></thead><tbody><tr><td>Select Bridge*</td><td><p>If applicable, select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges that have been configured. These bridges facilitate communication between data sources and the system without requiring changes to firewall rules.</p></td></tr></tbody></table>

2. After entering all connection details, the following actions can be performed:
   * Click **Validate** to verify the connection.
   * Click **Save** to store the connection for future use.
   * Click **Save & Configure** to apply additional settings before saving.
3. The saved connection will appear on the Connectors home page.

## Manage Connector Operations

### Crawl

{% hint style="warning" %}
To perform crawl operations, users must be assigned the Integration Admin role.
{% endhint %}

The **Crawl/Profile** button allows users to select one or more schemas for crawling.&#x20;

1. Navigate to the Connectors page and click **Crawl/Profile**.
2. Select the schemas to crawl.
3. The **Crawl** option is selected by default.
4. Click **Run** to collect metadata from the connected source and load it into the **Data Catalog**.
5. After a successful crawl, the information appears in the **Data Catalog > Databases/<>Codes** tab.

The **Schedule** checkbox enables automated crawling at intervals ranging from a minute to a year.

1. Click the **Schedule** checkbox to enable the **Select Period** drop-down.
2. Select a time period for the operation from the drop-down menu.
3. Click **Schedule** to initiate metadata collection from the connected source.
4. The system will automatically execute the **crawl** operation at the scheduled time.

### Other Operations

The Connectors page provides a centralized view of all configured connectors and their health status.

**Managing connectors includes:**

* **Connector Health**: Displays the current status of each connector, with a green icon for active connections and a red icon for inactive connections, helping monitor connectivity to data sources.
* **Viewing**: Click the **Eye** icon next to the connector name to view connector details, including FileFolders, Files, and File Columns.

**Nine Dots Menu Options**:

To view, edit, validate, build lineage, configure, or delete connectors, click on the Nine Dots menu.

* **Edit Connector**: Update and revalidate the data source.
* **Validate Connector**: Check the integrity of the connection.
* **Settings**: Modify connector settings.
  * **Crawler**: Configure data extraction.
  * **Access Instructions**: Add notes on how data can be accessed.
  * **Business Glossary Settings**: Manage term associations at the connector level.
* **Build Lineage**: Automatically build data lineage using source code parsing.
* **Delete Connector**: Remove a connector with confirmation.

## Connectivity Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

<table><thead><tr><th width="87.1112060546875">S.No.</th><th>Error Message(s)</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Error while validating GITHUBFILES connection Problem connecting to GitHub files server, please check Personal Access Token: Error while getting the API response: Please provide all required credentials to validate the GitHub files connection.</td><td><strong>Error Description</strong>: Connection to the GitHub files server failed due to a missing or invalid Personal Access Token, preventing API response retrieval.<br><br><strong>Resolution</strong>: Ensure all required credentials, including a valid Personal Access Token, are provided and retry validating the GitHub files connection.</td></tr></tbody></table>

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.
