KIZORADOCS На сайт

Навигация

Поиск по документации

GitHub и GitLab

Оба провайдера подключаются одним способом — через входящий вебхук Kizora. Отдельной авторизации в GitHub или GitLab не требуется: Kizora ничего не запрашивает у них сама, она принимает то, что они присылают.

Что поддерживается

СобытиеGitHubGitLab
КоммитыpushPush Hook
Пул-реквесты и merge-requestpull_requestMerge Request Hook
ЗадачиissuesIssue Hook
РелизыreleaseRelease Hook
Выкладкиdeployment_statusPipeline Hook

Остальные события провайдера принимаются как «прочее».

Как подключить GitHub

  1. В Kizora: /вебхук создать, источник — GitHub, укажите канал. Скопируйте адрес и секрет из личных сообщений.
  2. В репозитории: Settings → Webhooks → Add webhook.
  3. Payload URL — адрес из шага 1.
  4. Content typeapplication/json.
  5. Secret — секрет из шага 1.
  6. Выберите события: push, pull requests, issues, releases.
  7. Сохраните и нажмите Redeliver на тестовой доставке, чтобы проверить.

GitHub подписывает тело заголовком X-Hub-Signature-256 и присылает идентификатор доставки в X-GitHub-Delivery — Kizora использует его для защиты от повторов.

Как подключить GitLab

  1. В Kizora: /вебхук создать, источник — GitLab.
  2. В проекте: Settings → Webhooks.
  3. URL — адрес из шага 1.
  4. Secret token — секрет из шага 1.
  5. Отметьте нужные триггеры.
  6. Сохраните и нажмите Test.

GitLab присылает токен в заголовке X-Gitlab-Token, а идентификатор доставки — в Idempotency-Key или X-Gitlab-Event-UUID.

Ограничения

  • Kizora принимает события, но не ходит в API GitHub сама: списка репозиториев, статусов сборки по запросу и комментариев отсюда нет.
  • Тело запроса — до 256 КБ. Очень большие push-события провайдер обрезает сам.
  • Отметка времени должна быть свежей: расхождение больше минуты — отказ.

Проверка

После тестовой доставки откройте /вебхук журнал. Там будет видно, что пришло и что было отвергнуто. Значения статусов — Статусы доставки.

Частые проблемы

  • GitHub показывает 401 или 403. Секрет в репозитории не совпадает с секретом Kizora — перевыпустите и укажите заново.
  • Приходит, но не публикуется. Смотрите статус: «не показывается» — настройка, «отказ Discord» — права бота в канале.
  • Дубликаты. Их не будет: повтор с тем же идентификатором доставки отмечается как дубликат.

Связанные страницы