---
title: "Добавление VCS-провайдеров для App Platform через API"
description: "Добавление VCS-провайдеров для App Platform через API. Документация и инструкции по использованию и настройке облачных сервисов Timeweb Cloud."
---

# Добавление VCS-провайдеров через API

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

Чтобы добавить VCS-провайдера GitHub, GitLab или BitBucket с помощью метода API [/api/v1/vcs-provider](https://timeweb.cloud/api-docs#tag/Apps/operation/addProvider), вам потребуется токен, который необходимо получить в интерфейсе провайдера. 

> [!NOTE]
> Авторизация по токену (PAT-авторизация) доступна только при использовании API, а авторизация через OAuth — только в панели управления.
>
> Для OAuth-авторизации мы будем следить за сроком жизни токена и своевременно его обновлять. Для PAT-авторизации вам необходимо делать это самостоятельно.
>
> При обращении к ресурсам провайдера через панель или API будет использоваться последняя пройденная авторизация.

## Получение токена в GitHub

Для добавления аккаунта GitHub вам будет нужен `Fine-grained personal access token`. Чтобы его получить:

1.  Авторизуйтесь в своем аккаунте [GitHub](https://github.com/login).
2.  [Верифицируйте свой емейл](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/verifying-your-email-address), если это еще не было сделано.
3.  Перейдите в раздел [Fine-grained tokens](https://github.com/settings/tokens?type=beta) (кликнуть на профиль → **Settings** → **Developer settings** → **Personal access tokens** → **Fine-grained tokens**).
4.  Нажмите **Generate new token**.
5.  Укажите имя токена в **Token name**.
6.  Выберите дату истечения токена в **Expiration**.
7.  При желании добавьте описание в поле **Description**.
8.  В пункте **Resource owner** выберите владельца ресурса. С помощью токена можно будет получить доступ только для ресурсов выбранного владельца. 
9.  В пункте **Repository access** выберите, к каким репозиториям должен быть доступ по токену.
10.  Если на прошлом шаге вы указали **Only select repositories**, выберите конкретные репозитории из выпадающего списка **Selected repositories**.
11.  В разделе **Permissions** выберите разрешения: 
     -   `Webhooks: read and write`
     -   `Contents: read-only`
12.  Нажмите **Generate token**.
13.  Скопируйте полученный токен и передайте в качестве значения `provider_token` при добавлении провайдера.

Подробная инструкция доступна в [документации GitHub](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token).

## Получение токена в GitLab

Для добавления аккаунта GitLab вам потребуется `Personal access token`. Получить его можно так:

1.  Авторизуйтесь в своем аккаунте [GitLab](https://gitlab.com/users/sign_in).
2.  Кликните на аватар аккаунта слева и выберите **Edit profile**.
3.  В левом меню выберите **Access tokens** → **Add new token**.
4.  Введите имя токена и дату его истечения. Дата истечения может быть не позднее 365 с текущей даты. Этот же период применится по умолчанию, если не указать дату.
5.  Укажите разрешение:
    -   `api`
6.  Кликните **Create personal access token**.
7.  Скопируйте полученный токен и передайте в качестве значения `provider_token` при добавлении провайдера.

Сохраните токен у себя — вы не сможете получить доступ к нему после того, как закроете страницу.

## Получение токена в BitBucket

Для добавления аккаунта BitBucket необходимо использовать `App Password`. Получить его можно так:

1.  Авторизуйтесь в своем аккаунте [BitBucket](https://bitbucket.org/product).
2.  Кликните на значок шестеренки справа вверху и перейдите в **Personal Bitbucket settings**.
3.  В меню слева выберите **App password** и кликните **Create app password**.
4.  Задайте удобное имя (**Label**) и следующие разрешения: 
    -   `Account: Read`
    -   `Projects: Read`
    -   `Repositories: Read`
    -   `Webhooks: Read and write`
5.  Нажмите **Create**.
6.  Откроется окно с вашим app password. Скопируйте его и передайте в качестве значения `provider_token` при добавлении провайдера.
