---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.2
  - property: og:type
    content: article
  - property: article:section
    content: Интеграция с другими сервисами
  - property: og:title
    content: GitHub
  - property: article:tag
    content: Сборник инструкций
alternate:
  - https://yandex.ru/support/tracker/en/user/github.md
  - https://yandex.ru/support/tracker/ru/user/github.md
  - href: ru/user/github.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# GitHub

В Трекере можно настроить интеграцию с репозиторием GitHub, чтобы отображать в задачах Трекера связи с коммитами в репозитории.

Чтобы добавить в задачу ссылку на коммит, укажите [ключ задачи](*issuekey) в комментарии к коммиту, например: `Исправление ошибки TEST-123`. Ссылка появится в задаче на вкладке **Коммиты**. Подробнее читайте в разделе [Интеграция с репозиториями](https://yandex.ru/support/tracker/ru/user/add-repository.md).

Вы можете выбрать один из способов интеграции:

* Настроить вебхук в репозитории — рекомендуем использовать этот способ синхронизации, если вы используете репозиторий GitHub на собственном сервере. Он позволяет быстро синхронизировать данные и отображать новые коммиты в задачах в Трекер.

* Настроить периодический опрос репозитория — Трекер будет периодически запрашивать информацию о коммитах в репозитории.

  Этот способ синхронизации можно настроить для репозиториев, размещенных онлайн или развернутых на собственном сервере.

{% note warning "" %}

При опросе репозитория связи с коммитами могут отображаться в Трекере с задержкой до 10 часов.

{% endnote %}

## Настроить вебхук в репозитории {#webhook}

{% note warning "" %}

Синхронизация с помощью вебхука доступна для репозиториев, размещенных на собственных серверах вашей компании.

{% endnote %}


1. В Трекере получите URL и токен для настройки вебхука: [Как получить URL и токен](https://yandex.ru/support/tracker/ru/user/add-repository.md#get-token).

1. Перейдите на главную страницу вашего репозитория Github.

1. На панели инструментов справа нажмите **Settings**.

1. Нажмите **Add webhook**.

1. В поле **Payload URL** введите значение URL, которое вы скопировали в Трекере.

1. В поле **Secret** введите значение токена, которое вы скопировали в Трекере.

1. Под заголовком **Which events would you like to trigger this webhook?** выберите опцию **Just the push event**.

1. Нажмите **Add webhook**.

<!-- source: ru/_includes/gitlab/test-hook.md -->
Чтобы проверить, что вебхук работает корректно:

1. Создайте или выберите существующую задачу в Tracker, в которой вы будете тестировать связь с коммитом.

1. В вашем репозитории создайте коммит и укажите в его комментарии ключ задачи, например: `Исправление ошибки TEST-123`.

1. Убедитесь, что на странице задачи в Tracker на вкладке **Коммиты** отображается информация о вашем коммите.
<!-- endsource: ru/_includes/gitlab/test-hook.md -->


## Настроить опрос репозитория {#poll}

### Подключить онлайн-репозиторий {#repo}

Чтобы подключить репозиторий на [GitHub](https://github.com) к Трекеру:

<!--{% list tabs %}
- Публичный репозиторий
    1. {% include [make sure you are admin](../_includes/make-sure-admin.md) %}
    1. {% include [path to the repository](../_includes/repository-path.md) %}
    1. В поле **Платформа** выберите GitHub.
    1. Укажите адрес публичного репозитория в формате `https://github.com/<логин_владельца_репозитория>/<имя_репозитория>`. Поле **Токен** оставьте пустым.
    1. Нажмите кнопку **Подключить**.
    1. Убедитесь, что статус репозитория отображается в Трекере как **Подключен**.
- Закрытый репозиторий -->

1. Получите на GitHub токен для доступа к вашему репозиторию:

    - Авторизуйтесь на GitHub. Если репозиторий прикреплен к GitHub-организации, убедитесь, что у вас есть права администратора.

    - Нажмите фото вашего профиля в правом верхнем углу и выберите **Settings**.

    - На панели слева выберите **Developer settings** → **Personal access token** → **Tokens (classic)**.

    - Нажмите кнопку **Generate new token**.

    - Придумайте название для токена.

    - Настройте разрешения для токена. Для правильной работы с Трекером необходимо, чтобы опции **repo** и **read:org** были включены:

        ![](../_assets/github-token-settings.png)

    - Нажмите кнопку **Generate token**.

    - Скопируйте токен в буфер обмена.

    {% note alert "" %}

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

    {% endnote %}

1. <!-- source: ru/_includes/make-sure-admin.md -->
   Убедитесь, что вы авторизованы в Трекере как [администратор](https://yandex.ru/support/tracker/ru/role-model.md).
   <!-- endsource: ru/_includes/make-sure-admin.md -->

1. <!-- source: ru/_includes/repository-path.md -->
   В Трекере на панели слева нажмите ![](../_assets/svg/actions.svg)</svg> → ![](../_assets/svg/admin.svg)</svg> **Администрирование**, затем откройте раздел ![](../_assets/svg/repositories.svg)</svg> **Репозитории**.
   <!-- endsource: ru/_includes/repository-path.md -->

1. Нажмите кнопку **Добавить** и выберите **Репозиторий**.

1. В поле **Платформа** выберите GitHub.

1. Для опции **Адрес сервера** выберите значение **github.com**.

1. В поле **Репозиторий** укажите адрес в формате `https://github.com/<логин_владельца_репозитория>/<имя_репозитория>` и токен для подключения.

1. Нажмите кнопку **Добавить**.

1. Убедитесь, что статус репозитория отображается в Трекере как **Подключен**.

<!--{% endlist %}-->

### Подключить репозиторий на собственном сервере {#on-premise}

Перед подключением получите токен для доступа к репозиторию. Подробную инструкцию о том, как получить токен, читайте в [документации GitHub](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app).

<!-- source: ru/_includes/on-premise-server.md -->
Чтобы подключить к Трекеру репозиторий на собственном сервере:

1. <!-- source: ru/_includes/make-sure-admin.md -->
   Убедитесь, что вы авторизованы в Трекере как [администратор](https://yandex.ru/support/tracker/ru/role-model.md).
   <!-- endsource: ru/_includes/make-sure-admin.md -->

1. <!-- source: ru/_includes/repository-path.md -->
   В Трекере на панели слева нажмите ![](../_assets/svg/actions.svg)</svg> → ![](../_assets/svg/admin.svg)</svg> **Администрирование**, затем откройте раздел ![](../_assets/svg/repositories.svg)</svg> **Репозитории**.
   <!-- endsource: ru/_includes/repository-path.md -->

1. Нажмите кнопку **Добавить** и выберите **Репозиторий**.

1. В поле **Платформа** выберите тип вашего репозитория.

1. Для опции **Адрес сервера** выберите значение **Собственный**.

1. В поле **Репозиторий** укажите адрес репозитория на вашем сервере. Подключение к серверу должно осуществляться по технологии OAuth 2.0.

1. В поле **Токен с платформы** укажите токен для подключения к вашему серверу.

1. Нажмите кнопку **Добавить**.

1. Убедитесь, что статус репозиториев отображается в Трекере как **Подключен**.
<!-- endsource: ru/_includes/on-premise-server.md -->

[*issuekey]: Ключ задачи — это уникальный идентификатор, который содержится в ссылке на задачу. Он состоит из ключа очереди и номера, например `TEST-123`.