Интеграция Sentry без кода: ошибки, события и релизы

Интеграция Sentry без кода в nana800 читает ошибки и события, меняет статус ошибок, назначает ответственных и работает с релизами и проектами. На каждую новую ошибку схема запускается, когда Sentry сам отправляет оповещение на адрес триггера «webhook», а по расписанию блок забирает список нерешённых ошибок. Каждый запрос к Sentry стоит 0,20 ₽, а баланс каждый месяц бесплатно пополняется до 350 ₽.

Собрать в конструкторе
  • Запуск блока: 0,20 ₽
  • Бесплатно каждый месяц: 350 ₽
  • Карта не нужна

Что можно сделать

  • Получать нерешённые ошибки проекта или всей организации с фильтром Sentry, например level:error или environment:production
  • Читать одну ошибку или одно событие ошибки со всеми подробностями
  • Отмечать ошибку решённой, нерешённой или скрытой и назначать ответственного
  • Создавать, обновлять и удалять релизы, например после выкладки новой версии
  • Получать списки, создавать и менять проекты, команды и организации
  • Работать с sentry.io, с регионами us и de и со своим сервером Sentry

Блоки в конструкторе

  • Запрос к Sentry

    Действие · 0,20 ₽ за запуск

    Выбираете раздел (event, issue, organization, project, release, team) и действие (get, getAll, create, update, delete). Одна запись приходит в data, список - в records, текст ошибки Sentry - в error_message.

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

  1. 1

    Создайте токен в Sentry

    В Sentry откройте Settings, Developer Settings, Organization Tokens (или Personal Tokens) и создайте токен. Для чтения ошибок нужен доступ event:read, для изменения - event:write, для удаления - event:admin.

  2. 2

    Добавьте блок «Sentry.io Request»

    Создайте схему, поставьте триггер «button» и добавьте блок «Sentry.io Request». Вставьте токен и выберите сервер: sentry.io подходит всем облачным аккаунтам, для своего сервера выберите self_hosted и впишите его адрес.

  3. 3

    Получите список ошибок

    Выберите раздел issue и действие getAll, впишите короткое имя организации из адреса Sentry, например my-company. Проект можно не указывать. В поисковый запрос впишите фильтр, например is:unresolved level:error, или оставьте его пустым: придут нерешённые ошибки.

  4. 4

    Передайте ошибки дальше

    Поставьте после блока Sentry блок «Telegram message send» и подставьте в текст нужные данные из результата. Включите схему, нажмите кнопку в триггере и проверьте сообщение. Если Sentry вернул ошибку, её текст будет в error_message.

  5. 5

    Выберите, что запускает схему

    Чтобы реагировать на каждую новую ошибку, замените кнопку триггером «webhook» с методом POST и укажите его адрес в настройках оповещений Sentry. Чтобы забирать ошибки по расписанию, поставьте триггер «time internal». Схему оставьте включённой.

Готовые связки

  • Sentry + Telegram

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

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

Каждый запрос блока к Sentry стоит 0,20 ₽. Включённая схема стоит 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽, карта не нужна. Если схема включена круглосуточно весь месяц, большая часть этой суммы уходит на часы работы схемы.

Блок «Sentry.io Request» сам за ошибками не следит, он выполняет запрос, когда схема запущена. Есть два способа. Sentry отправляет оповещение на адрес триггера «webhook», если указать этот адрес в его настройках. Или триггер «time internal» регулярно запускает схему, а блок забирает список нерешённых ошибок.

event:read - для чтения ошибок и событий, event:write - для изменения ошибок, event:admin - для их удаления. Для работы с проектами, командами, релизами и организациями токену нужны права на эти разделы.

Да. Выберите сервер self_hosted и впишите адрес вашего Sentry вместе с https, например sentry.mycompany.com. Часть /api/0 блок добавит сам. Сервер должен быть доступен из интернета.

Действие getAll возвращает до 1000 записей, а событий - до 100, страницы блок догружает сам. Если поле количества пустое, придёт одна страница ответа Sentry: обычно 100 записей, событий - 10. Если записей больше, в результате будет is_truncated: true.

Нет, события (раздел event) можно только читать: одно по ID или список событий проекта, для этого нужны короткие имена организации и проекта. Менять статус, назначать ответственного и удалять можно саму ошибку, раздел issue.

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

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

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