Оповещения Sentry в Telegram: новые ошибки в чат команды

Оповещения Sentry в Telegram в nana800 собираются без кода: Sentry отправляет вебхук о новой ошибке на адрес схемы, а бот присылает её название и ссылку в личку или чат команды. Нужны бот от @BotFather и доступ к настройкам организации в Sentry, свой сервер и плагины не нужны. Одно оповещение - это два запуска по цене базового блока, а баланс каждый месяц бесплатно пополняется до 350 ₽.

Собрать в конструкторе

Что можно автоматизировать

  • Присылать в чат команды каждую новую ошибку: название, проект и кнопку «Открыть в Sentry»
  • Получать только важное: правило оповещения Sentry, например ошибка повторилась больше 100 раз за час, отправляет вебхук через интеграцию
  • Узнавать, что ошибку решили, назначили или скрыли: эти события Sentry тоже присылает вебхуком
  • Добавлять в сообщение, сколько раз ошибка случилась и у скольких пользователей: блок «Sentry.io Request» читает её по ID
  • Разводить ошибки по чатам: бесплатный блок «condition» отправляет ошибки одного проекта в одну группу, остальные в другую

Как настроить

  1. 1

    Создайте схему с вебхуком

    Создайте схему в конструкторе и добавьте триггер «webhook» с методом POST и путём, например /sentry. Включите схему: выключенная отвечает на вебхуки ошибкой. Нажмите кнопку «API» в конструкторе и скопируйте адрес вебхука.

  2. 2

    Создайте внутреннюю интеграцию в Sentry

    В Sentry откройте Settings, Developer Settings и создайте внутреннюю интеграцию (Internal Integration). В поле Webhook URL вставьте адрес из nana800, дайте доступ на чтение к Issue & Event и отметьте подписку issue в разделе Webhooks: Sentry будет присылать каждую новую ошибку.

  3. 3

    Или присылайте только оповещения по правилам

    Если нужна не каждая ошибка, включите в интеграции Alert Rule Action. Затем в Alerts создайте правило оповещения с условием, например ошибка повторилась больше 100 раз за час, и выберите в действии отправку через эту интеграцию.

  4. 4

    Добавьте блок «Telegram message send»

    Вызовите тестовую ошибку и откройте историю запусков схемы: в body триггера лежат action (что случилось) и data с ошибкой: название, проект, уровень и ссылка. Добавьте блок «Telegram message send», вставьте токен бота и ID чата, подставьте эти поля в текст и выберите оформление plain_text. Ссылку поставьте в кнопку.

  5. 5

    Ответьте Sentry сразу

    Поставьте сразу после триггера бесплатный блок «webhook response» с кодом 200: Sentry получит ответ, не дожидаясь отправки сообщения, а схема продолжит работу.

  6. 6

    Добавьте подробности (по желанию)

    Блок «Sentry.io Request» с разделом issue, действием get и ID ошибки из вебхука вернёт, сколько раз она случилась и у скольких пользователей. Ему нужен токен Sentry с правом event:read. Схему оставьте включённой: пока она включена, она стоит 0,42 ₽ в час.

Сколько стоит

Запуск блоков Sentry стоит 0,20 ₽, блоков Telegram - 0,10 ₽. Каждый месяц баланс бесплатно пополняется до 350 ₽, включённая схема стоит 0,42 ₽ в час.

Сервисы в связке

  • Sentry

    Получайте ошибки Sentry, меняйте их статус, назначайте ответственных и создавайте релизы без кода. Бесплатный баланс каждый месяц, карта не нужна.

  • Telegram

    Соберите Telegram-бота без кода: ответы на сообщения, кнопки, заявки и уведомления в личку, группу или канал. Бесплатный баланс каждый месяц, карта не нужна.

Частые вопросы

Одно оповещение - это запуск триггера «webhook» и отправка в Telegram, оба по цене базового блока (100 ₽ за 1 000 запусков). Блоки «webhook response» и «condition» бесплатные, запрос «Sentry.io Request» вдвое дороже базового. Схема включена всё время, а это 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽, и большая часть этой суммы уходит на часы работы схемы.

Для самих оповещений нет: Sentry отправляет их на адрес вебхука сам. Токен нужен, только если схема запрашивает дополнительные данные блоком «Sentry.io Request». Его создают в Settings, Developer Settings, Organization Tokens или Personal Tokens, для чтения ошибок хватит права event:read.

Каждый вебхук - это отдельный запуск схемы и отдельное сообщение. Если ошибок много, присылайте не каждую новую, а только сработавшие правила оповещений Sentry с порогом, например больше 100 повторов за час. Ещё можно отсеять предупреждения бесплатным блоком «condition», сравнив уровень ошибки с error.

Да, если ваш Sentry может отправлять запросы в интернет: вебхук nana800 принимает их с любого адреса. Для блока «Sentry.io Request» выберите сервер self_hosted и впишите адрес вашего Sentry, он должен быть доступен из интернета.

Проверьте, что схема включена и в триггере выбран метод POST: иначе nana800 отвечает ошибкой. В интеграции Sentry должна быть отмечена подписка issue или настроено правило с действием через эту интеграцию. Если запуск в истории есть, а сообщения нет, откройте результат блока Telegram: там текст ошибки, например бот не добавлен в группу.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе