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

# GitHub

export const title_1 = "GitHub";

export const title_0 = "GitHub";

## Setup Guide

Follow these steps to connect GitHub to your Connect AI account:

<Steps>
  <Step>
    Open the **Sources** page of the Connect AI navigation menu.
  </Step>

  <Step>
    Click **+ Add Connection** in the upper-right corner.
  </Step>

  <Step>
    Type *GitHub* into the search field, then click the data source name.
  </Step>

  <Step>
    On the **Basic Settings** tab of the new connection, enter a connection name or keep the default name.
  </Step>

  <Step>
    Select the Authentication method, then proceed to the relevant section and follow those instructions.
  </Step>
</Steps>

## Authentication Methods

<Tabs>
  <Tab title="OAuth">
    <Steps>
      <Step>
        (Optional) To restrict repositories and projects to a specific owner, enter the **Owner Login**. This is either the user name for an individual account or a login name associated with an organization account.
      </Step>

      <Step>
        Enter the base **URL** for the GitHub environment you are connecting to. This is required if connecting to a GitHub Enterprise Server instance or a GitHub Enterprise Cloud environment that uses a non-standard API domain. For connections to the standard GitHub service (including GitHub Enterprise Cloud accounts using the default API endpoint), this property must be left empty.
      </Step>

      <Step>
        (Optional) To restrict access to a certain schema, enter the **Schema** that the user has access to. By default, the user has access to all schemas.
      </Step>

      <Step>
        Click **Sign in** to connect securely through OAuth. This action opens the GitHub sign-in page in a new tab.
      </Step>

      <Step>
        Log in to your GitHub account and provide the requested permissions (if applicable).
      </Step>

      <Step>
        At the top of the Connect AI **Add {title_0} Connection** page, click **Save & Test**.

        * If the connection test succeeds, a **Connection successfully saved** message appears, indicating that your connection has been created. The **Status** on the **Edit Connection** page also changes to **Authenticated**. View the data model of your successful connection in the right pane of the **Edit Connection** page, in the **Data Model** tab.
        * If the connection test fails, ensure that you entered your login information correctly with no stray spaces or other characters. Connect AI displays error messages under the required fields with missing data. Some data sources require that you sign in directly to the source website. If you did not, an error message appears under the **Sign in** button. Correct the errors and try again.
        * Unsuccessful connections are saved as drafts and have a **Status** of **Not Authenticated**. You can return to the connection and authenticate it later.
      </Step>
    </Steps>
  </Tab>

  <Tab title="PersonalAccessToken">
    <Steps>
      <Step>
        Enter your GitHub Personal Access Token in the **Token** field.

        To obtain a token, log in to your GitHub account, navigate to **Settings** > **Developer settings** > **Personal access tokens**, and click **Generate new token**. Select the required scopes and click **Generate token**. Copy and save the generated token, as it will only be shown once.
      </Step>

      <Step>
        (Optional) To restrict repositories and projects to a specific owner, enter the **Owner Login**. This is either the user name for an individual account or a login name associated with an organization account.
      </Step>

      <Step>
        Enter the base **URL** for the GitHub environment you are connecting to. This is required if connecting to a GitHub Enterprise Server instance or a GitHub Enterprise Cloud environment that uses a non-standard API domain. For connections to the standard GitHub service (including GitHub Enterprise Cloud accounts using the default API endpoint), this property must be left empty.
      </Step>

      <Step>
        (Optional) To restrict access to a certain schema, enter the **Schema** that the user has access to. By default, the user has access to all schemas.
      </Step>

      <Step>
        At the top of the Connect AI **Add {title_1} Connection** page, click **Save & Test**.

        * If the connection test succeeds, a **Connection successfully saved** message appears, indicating that your connection has been created. The **Status** on the **Edit Connection** page also changes to **Authenticated**. View the data model of your successful connection in the right pane of the **Edit Connection** page, in the **Data Model** tab.
        * If the connection test fails, ensure that you entered your login information correctly with no stray spaces or other characters. Connect AI displays error messages under the required fields with missing data. Some data sources require that you sign in directly to the source website. If you did not, an error message appears under the **Sign in** button. Correct the errors and try again.
        * Unsuccessful connections are saved as drafts and have a **Status** of **Not Authenticated**. You can return to the connection and authenticate it later.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## More Information

For more information about interactions between Connect AI and GitHub, see [this information page](https://cdn.cdata.com/help/FGM/cloud/default.htm#default).
