Входящие вебхуки
Вебхук — адрес, на который ваша система отправляет запрос, а Kontext превращает его в сообщение в канале. Сборки, деплой, мониторинг, платежи, формы.
Создать
- Откройте настройки пространства → вкладка «Приглашения» → раздел «Входящие вебхуки». Раздел доступен администраторам.
- Задайте название — оно будет видно в каждом сообщении — и выберите канал.
- Скопируйте адрес. Он показывается один раз: сохраните его в настройках системы, которая будет отправлять сообщения.
Потеряли адрес — отзовите вебхук и заведите новый.
Формат запроса
Метод POST. Kontext принимает любой из вариантов:
- JSON с полем
text:{"text": "Сборка #412 упала"} - JSON с полем
bodyилиmessage— так отправляют многие системы по умолчанию; - просто текст в теле запроса.
Текст поддерживает то же форматирование, что и обычные сообщения, включая блоки кода.
Примеры
curl
curl -X POST "$KONTEXT_WEBHOOK" \
-H "Content-Type: application/json" \
-d '{"text": "Деплой на прод завершён"}'
GitHub Actions
- name: Сообщить в Kontext
if: failure()
run: |
curl -X POST "${{ secrets.KONTEXT_WEBHOOK }}" \
-H "Content-Type: application/json" \
-d "{\"text\": \"Сборка упала: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID\"}"
GitLab CI
notify:
stage: .post
when: on_failure
script:
- 'curl -X POST "$KONTEXT_WEBHOOK" -H "Content-Type: application/json" -d "{\"text\": \"Пайплайн упал: $CI_PIPELINE_URL\"}"'
Как это работает
- Автор сообщений — тот, кто завёл вебхук; название вебхука стоит в самом сообщении.
- Ограничение — 30 сообщений в минуту на вебхук: хватает на пачку упавших сборок и защищает канал от заливки.
- Отозванный вебхук отвечает ошибкой 404 — ваша система узнает, что её больше не слушают.
- Деактивировали автора — вебхук перестаёт работать: писать от имени человека без доступа нельзя.
- Адрес — это ключ. Храните его в секретах CI, а не в коде репозитория.