Documentation
FAQ
Уведомления
Уведомления
Хоук умеет уведомлять через:
- Telegram
- Slack
- Loop
- Webhook — для своих систем (Jira, Mattermost, внутренние сервисы и т.д.)
Есть два уровня:
- Уведомления проекта — про ошибки: новые события, всплески повторений.Настройки: Проект → Настройки → Уведомления.
- Персональные уведомления — назначение на issue, недельный дайджест, системные сообщения.Настройки: Аккаунт → Уведомления. Каналы: email, webhook (web/desktop push — по мере доступности).
- Откройте проект → Настройки → Уведомления.
-
Создайте правило и укажите:Что получатьтолько новые события (
ONLY_NEW) — первый раз, когда ошибка появилась;«встречалось больше N раз за период» (SEEN_MORE) — порог + период (минута / час / день / неделя).Фильтры (опционально): включать / исключать события по тексту в заголовке.Каналы: email, Telegram, Slack, Loop, Webhook — можно несколько сразу. -
Что получатьтолько новые события (
ONLY_NEW) — первый раз, когда ошибка появилась;«встречалось больше N раз за период» (SEEN_MORE) — порог + период (минута / час / день / неделя). -
только новые события (
ONLY_NEW) — первый раз, когда ошибка появилась; -
«встречалось больше N раз за период» (
SEEN_MORE) — порог + период (минута / час / день / неделя). - Фильтры (опционально): включать / исключать события по тексту в заголовке.
- Каналы: email, Telegram, Slack, Loop, Webhook — можно несколько сразу.
- Правило можно временно отключить, не удаляя.
Несколько правил на проект — нормальная схема: например, критичные ошибки → Slack, остальное → email.
- Email — укажите адрес(а) в правиле / в аккаунте.
- Telegram / Slack / Loop — endpoint (webhook URL бота или Incoming Webhook) в настройках канала правила.
-
Webhook — HTTPS URL вашего обработчика. Хоук шлёт
POSTс JSONи заголовком{ "type": "...", "payload": { ... } }(тип уведомления).X-Hawk-Notification
Для персональных уведомлений webhook настраивается в Аккаунт → Уведомления.
Webhook — HTTP(S) POST с JSON на ваш URL, когда сработало правило уведомления проекта или персональное уведомление.
Запрос всегда одного вида:
Content-Type: application/jsonUser-Agent: Hawk-Webhook/1.0X-Hawk-Notification: <type>{"type":"event","payload":{}}
{
"type": "event",
"payload": { }
}
-
— вид уведомления:type,event,several-events, а также платёжные и системные (assignee,payment-failedworkspace-inviteи др.). -
— данные; набор полей зависит отpayload. Токены, пароли и исходный код в webhook не передаются.type
Для ошибок ( / event) типичная структура:
several-events
{
"type": "event",
"payload": {
"project": {
"id": "string",
"name": "string",
"workspaceId": "string",
"image": null
},
"events": [
{
"event": {
"id": "string",
"groupHash": "string",
"totalCount": 42,
"catcherType": "errors/javascript",
"timestamp": 1567009247.576,
"usersAffected": 3,
"title": "TypeError: …",
"type": null,
"backtrace": [
{
"file": "string",
"line": 1,
"column": 10,
"function": "renderUser"
}
]
},
"newCount": 1,
"daysRepeated": 1,
"usersAffected": null,
"repetitionId": null
}
],
"period": 60
}
}
☝️
Важно:
Используйте HTTPS. Endpoint должен отвечать 2xx; редиректы Hawk не следует.
- Правило включено.
- Канал указан, endpoint валидный (для webhook — доступный HTTPS URL).
-
Тип правила совпадает с ситуацией: при
повтор ошибки не придёт; приONLY_NEWнужен порог за выбранный период.SEEN_MORE - Фильтры including / excluding не отсекают заголовок события.
- Для email — адрес указан в аккаунте / правиле.
-
Webhook отвечает без долгого таймаута и без редиректа; схема на стороне приёмника принимает
timestampкакnumber(unix seconds), а не только как ISO-строку. -
Проверка пустым телом
{}не отражает реальную доставку — Hawk так не отправляет.
Да, двумя способами:
- Интеграция с GitHub (Проект → Настройки → Task Manager / GitHub): Хоук может сам создавать GitHub Issue при достижении порога повторений.
- Webhook на ваш endpoint: обработчик создаёт задачу в Jira/YouTrack/Linear, пишет в чат или запускает workflow.