# Additional GitHub credentials

## GitHub account preparation <a href="#preparing_an_additional_account" id="preparing_an_additional_account"></a>

You can add anyone to your **GitHub** (or **GitHub Enterprise**) organization, and they will become a member. To do this, follow the instructions on the [official **GitHub** page](https://docs.github.com/en/enterprise-server@3.4/organizations/managing-membership-in-your-organization/adding-people-to-your-organization).

***

## Personal access token preparation <a href="#preparing_personal_access_token" id="preparing_personal_access_token"></a>

#### To create a personal access token in **GitHub**:

1. In the upper-right corner of any page, click your **profile photo** and select **Settings**.
2. In the left sidebar, click **Developer settings**.
3. Select **Personal access tokens**.
4. Click **Generate new token**.
5. Enter a descriptive name for the token.

<figure><img src="https://content.gitbook.com/content/0CBTl43C3OO6ySL1DJ6k/blobs/cj3SJN0TusMEl6j12jC7/beta.PNG" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
You must use **tokens (classic)**— **Xopero ONE does not support** fine-grained tokens.
{% endhint %}

{% hint style="warning" %}
Please note that the beta version may have changed. After the full release, our administrators will need time to analyze the possibility of supporting this token type.
{% endhint %}

{% hint style="info" %}
More details about creating a personal access token can be found in [**GitHub** official documentation](https://docs.github.com/en/enterprise-server@3.4/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).
{% endhint %}

***

## Adding GitHub credentials to Xopero ONE

{% hint style="danger" %}
Adding additional credentials in **Xopero ONE** does not automatically integrate them into backup tasks— you <mark style="color:$danger;">**must**</mark> enable new credentials for use in a backup plan.
{% endhint %}

{% stepper %}
{% step %}
Login to [**XMS**](#user-content-fn-1)[^1], open the **GitHub** tab and click **Edit** in the bottom-left corner of your **GitHub** organization tile.

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2Fox27ABY9lz3v8nao2UmU%2Fimage.png?alt=media&#x26;token=b19064a2-af2a-49d2-ab18-06169070c46e" alt="" width="351"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Go to the **Throttling prevention** section and click **Manage credentials**.

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FK3rrSD8oaxQ3K8gSmIyc%2Fimage.png?alt=media&#x26;token=d1edff1e-ce28-439a-a9e1-3e5c3eebad77" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Click the **Add new** button and select one of the available options:

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FAG955PZtaUjeIc900NCV%2Fimage.png?alt=media&#x26;token=c8a2a072-bd80-4b78-b25c-8d2a76d25d7b" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
For **Access Token**:

Enter your account username and add or select **PAT** from the **Password Manager**, then confirm your selection. You can add any number of accounts to your organization.

{% hint style="warning" %}
We use a specific user and their limits, which is why a dedicated backup user is recommended. This prevents situations where real users might hit their API limits.
{% endhint %}

{% hint style="info" %}
To learn how to add a **PAT** to the **Password Manager** see [this article](https://helpcenter.xopero.com/xopero-one-en/management/password-manager).
{% endhint %}

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FnaOLLtCLOxoPjFL0rHmD%2Fimage.png?alt=media&#x26;token=7d09e735-ac9f-47c4-b007-f96d47873e83" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
For **GitHub App**:

From the drop-down list, select an application (#1–#10) and install it in the appropriate organization. The process is the same as when adding the main **GitHub** app.

{% hint style="info" %}
The account is used solely for application installation. After the installation is complete, the account is no longer utilized for any operations, as all subsequent actions are performed by the installed application.
{% endhint %}

<mark style="color:$danger;">**IMPORTANT!**</mark> You can add an additional **GitHub** **App** <mark style="color:$danger;">only</mark> if the following conditions are met:

1. The installing account has sufficient permissions on **GitHub**— the installation <mark style="color:$danger;">must not</mark> require sending and approving an installation request (it may happen, for example, when the account lacks **repository administration** rights or has a role other than **Owner** in an organization). For more details, see [Installing a **GitHub App** from a third party – **GitHub Docs**](https://docs.github.com/en/apps/using-github-apps/installing-a-github-app-from-a-third-party#requirements-to-install-a-github-app)**\***.
2. The organization in **Xopero** system has the main credentials for the **GitHub** account where the additional **GitHub App** is being installe&#x64;**\*\***:
   1. If the organization was registered through a **GitHub App**, additional **GitHub Apps** can only be added for accounts that already have the main **GitHub App** registered. Additional **GitHub App** for other personal accounts are not allowed.
   2. If the organization was registered through **OAuth** or a **PAT**, additional **GitHub App** can be added for any account, including other personal accounts.

{% hint style="danger" %}
\*If condition 1 is not met, an error message will indicate that you do not have the required permissions to complete the installation.
{% endhint %}

{% hint style="danger" %}
\*\*If condition 2 is not met, an error message will prompt you to first register the account with the organization in our system.
{% endhint %}

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FQa2ibeAZ5OVj15mBsYGX%2Fimage.png?alt=media&#x26;token=86906cec-e121-4e9a-9b4e-ff28d1b5e17d" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

***

## Enabling GitHub credentials for backup

{% stepper %}
{% step %}
In [**XMS**](#user-content-fn-1)[^1], open the **Plans** tab and click **Add plan**, or select **Edit plan** if you already have one.

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2Fg8QUg1HAuziERAZwKcIv%2Fimage.png?alt=media&#x26;token=d22ed15b-8063-4efb-ae79-a254ff7d31e0" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Scroll down to **Advanced settings**, click **Edit**, and enable the **Additional git credentials** switch.

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FwJO21QpR2z3bzOnH47aD%2Fimage.png?alt=media&#x26;token=9bdabec6-d9a0-4fee-8300-7873b23235ad" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
The system will display all additional accounts available for the selected organization. Toggle the switch **ON** next to the accounts you want to use, and then click the **Save** button.

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FkAOxf68E7edsYv4d6hJV%2Fimage.png?alt=media&#x26;token=085a5a4e-663d-4ef2-a3e9-d4401917da1f" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Back in the **Edit backup plan** panel, click the **Save** button to save your backup plan settings. The backup plan will now run using the selected additional **GitHub** (or **GitHub Enterprise**) accounts.

<figure><img src="https://319733277-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBTl43C3OO6ySL1DJ6k%2Fuploads%2FcEoIAnYGqDv3Eq6fU4vU%2Fimage.png?alt=media&#x26;token=94d0711c-1739-446f-acd0-6a676f71aece" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

[^1]: Xopero ONE Management Service


---

# Agent Instructions: 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:

```
GET https://helpcenter.xopero.com/xopero-one-en/compliance-and-risk-management/throttling-prevention/additional-github-credentials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
