Алерты и уведомления

Настройка в кабинете → Настройки проекта. Все каналы используют общий minLevel.

Схема потока данных

Где настраивать

Кабинет → Проект → Настройки проекта. Для каждого проекта — отдельные Telegram, email, webhooks и минимальный уровень алерта (minLevel: error, warning, info).

Telegram

  1. Создайте бота через @BotFather и получите токен (на сервере DevLogs — env TELEGRAM_BOT_TOKEN).
  2. Узнайте chat id (личный чат или группа) и вставьте в настройках проекта.
  3. Включите уведомления и выберите minLevel.
Email отправляется только для выбранных типов событий (новая issue, регрессия, всплеск) — не при каждом повторе той же ошибки. Лимиты интервала и писем в час настраиваются в кабинете.

Email

Укажите адрес получателя и включите email-уведомления. На сервере должен быть настроен SMTP (AUTH_EMAIL_SERVER, AUTH_EMAIL_FROM в .env).

ПолеОписание
notificationEmailАдрес для алертов
emailNotifyNewIssueПисьмо при новой группе ошибок
emailNotifyRegressionПисьмо, если resolved/ignored issue снова активна
emailNotifyBurstПисьмо при всплеске событий по одной issue (порог — webhookBurstThreshold)
emailNotifyIntervalMinutesМинимальный интервал между любыми письмами по проекту (по умолчанию 60 мин)
emailNotifyMaxPerHourМаксимум писем в час на проект (по умолчанию 10)
minLevelМинимальный уровень события для отправки

Webhooks

HTTP POST на ваш URL при событиях issue. Настраиваются в блоке Webhooks настроек проекта.

СобытиеКогда
issue.createdСоздана новая группа ошибок
issue.resolvedIssue отмечена resolved в кабинете или через REST API

Подпись запроса: заголовок X-DevLogs-Signature: sha256=… (HMAC-SHA256 тела с секретом webhook). Секрет показывается один раз при создании.

Тело webhook
{
  "event": "issue.created",
  "timestamp": "2026-06-07T12:00:00.000Z",
  "project": { "id": "clx…", "name": "Моё приложение" },
  "issue": {
    "id": "clxissue…",
    "type": "TypeError",
    "level": "error",
    "message": "Cannot read …",
    "status": "unresolved",
    "fingerprint": "abc…"
  }
}

Проверка подписи на стороне сервера: HMAC-SHA256 от сырого тела JSON с вашим secret, сравнение с значением после sha256=.

S3 (не алерт)

Блок S3 в настройках — только для source maps, не для событий ingest. Подробнее в документации по source maps.