Интеграция через GitHub App
Установите Exlogare через GitHub App для строгих org-policy и гранулярных прав на репозитории.
GitHub App — один из двух способов подключить аккаунт или организацию GitHub к Exlogare. По модели CircleCI оба способа равноправны и могут сосуществовать на одном аккаунте. Выбирайте подходящий вариант под политики вашей организации.
Кратко: OAuth (см. другой гайд) — рекомендуемый путь, потому что это один клик «Войти через GitHub» для отдельного пользователя. GitHub App нужен, когда в org запрещены OAuth Apps, требуются гранулярные права или установка должна покрывать всю команду одним действием админа.
Когда выбирать GitHub App
| Симптом | OAuth | GitHub App |
|---|---|---|
| Личные репозитории / маленькая команда | да, проще | избыточно |
| Org policy: «third-party OAuth Apps disabled» | блокируется на consent | единственный путь |
| Нужна одна установка для всей команды | каждый пользователь авторизуется сам | одна установка от админа org |
| Нужны гранулярные права с audit trail в GitHub | OAuth scopes грубее | per-permission consent + audit log |
| Быстро отозвать доступ | per-user «Authorized OAuth Apps» | один клик в .../settings/installations |
Можно поставить оба способа на один аккаунт Exlogare — например, OAuth для личных репозиториев и GitHub App для org, в которой вы не владелец. Никакой миграции не нужно: это просто две независимые Connection.
Запрашиваемые разрешения
| Scope | Permission | Зачем |
|---|---|---|
| Repository / Actions | Read | Скачать логи упавших workflow run. |
| Repository / Checks | Read & write | Опубликовать AI-вердикт как Check Run в PR. |
| Repository / Contents | Read | Резолвить пути файлов в stack trace до исходников. |
| Repository / Metadata | Read | Обязательно для любой установки (метаданные проекта). |
| Repository / Pull requests | Read & write | Опционально: оставить PR-комментарий с предложенным фиксом. |
| Repository / Workflows | Read | Сматчить событие workflow_run с YAML-файлом workflow. |
| Account / Email addresses | Read | Magic-link при анонимной установке через Marketplace. |
Мы не запрашиваем Code write, Administration или
мутирующие org-level scopes.
Установка
Два сценария.
Из Exlogare (для существующих пользователей — рекомендуется)
- Войдите в app.exlogare.net.
- Откройте Settings → Integrations (или карточку GitHub в визарде онбординга).
- Нажмите Установить GitHub App рядом с OAuth.
- На GitHub выберите org/аккаунт и «All repositories» или произвольную выборку.
- Нажмите Install. GitHub вернёт вас в Exlogare, репозитории появятся сразу.
Из GitHub Marketplace (для новых пользователей)
- Откройте страницу Exlogare на Marketplace.
- Нажмите Install it for free.
- Выберите org/аккаунт, репозитории, нажмите Install.
- GitHub перенаправит вас на
app.exlogare.net/onboarding/github-app.- Если уже есть сессия Exlogare — установка моментально привязывается к вашему tenant.
- Если нет — попросим email, отправим magic link, после клика вы внутри.
Что происходит дальше
Первый раз, когда workflow на подключённом репо завершится с
conclusion: failure:
- GitHub присылает webhook
workflow_run.completedнаhttps://api.exlogare.net/webhooks/github_app. - Exlogare скачивает логи installation-токеном (без PAT и без OAuth-токена) и запускает AI-пайплайн поиска причины.
- Вердикт появляется как Check Run в соответствующем PR за ~30 секунд. Опционально публикуется PR-комментарий с предлагаемым фиксом (включается в Settings → Notifications).
Чтобы проверить интеграцию без ожидания реального падения, откройте Settings → Integrations → GitHub и нажмите Run a test analysis на любом репо.
Удаление
- На GitHub: Org settings → GitHub Apps → Exlogare → Uninstall.
- В Exlogare: Settings → Integrations → GitHub → иконка корзины на строке GitHub App. Это soft-delete: webhook’и перестают обрабатываться, но сама установка на GitHub остаётся, пока вы её там тоже не удалите.
Exlogare также корректно реагирует на installation.deleted
webhook от GitHub — connection автоматически отключается, поэтому
односторонний uninstall на GitHub’е безопасен.
FAQ
Можно ли использовать OAuth и GitHub App одновременно? Да. Каждый создаёт отдельный Connection. Watched-репозитории дедуплицируются.
Нужен ли GitHub Enterprise? GitHub.com работает из коробки.
GHES требует развёртывания с кастомным GITHUB_API_BASE_URL —
напишите через контакты для on-prem.
Что-то хранится на стороне GitHub? Нет. GitHub нужен только
для авторизации и скачивания логов; анализы и PR-комментарии
исходят от api.exlogare.net.
А GitHub Action? Это
другой инструмент. Action — uses:-шаг в workflow, который
отправляет один лог в Exlogare с любого runner’а. GitHub App
работает на стороне сервера и слушает события workflow_run
автоматически, не требуя изменений в YAML. App — для полного
покрытия, Action — для разовых/cross-runner пушей.