Хоук — трекер ошибок в ПО. Он позволяет выявлять проблемы в коде, анализировать и устранять баги, делая конечный продукт более качественным.
Интегрировать Хоука легко. Последовательность шагов:
- Зарегистрироваться
- Создать воркспейс
- Добавить проект и получить Интеграционный токен
- Установить в свой код Кэтчер
Регистрация
Регистрация в проекте осуществляется через почту. Переходите на https://garage.hawk.so/ и нажимайте Sign Up.
Демо
У проекта есть демо-воркспейс, который позволяет ознакомиться с интерфейсом и основной функциональностью. Для вступления в него, нажимайте кнопку Join Demo Workspace на сайте hawk.so

Создание воркспейса
Первый шаг для интеграции: создание воркспейса. Для этого надо нажать на знак "+" в левой панели и ввести название.

В настройках воркспейса можно поменять название, загрузить логотип, добавить участников в команду и управлять используемым лимитом ошибок.
Создание проекта
Следующий шаг по интеграции — создание проекта. Нажимайте кнопку "Создать проект", либо на синюю кнопку с иконкой "+" справа от названия нашей рабочей области.

В появившемся окне необходимо указать название проекта и выбрать, к какому рабочему пространству он будет прикреплен. После создания проекта вы увидите список доступных Кэтчеров — небольших скриптов, которые надо установить в свой код для трекинга ошибок. Полный список интеграций доступен здесь.

При выборе Кэтчера вы увидите инструкцию по подключению и Интеграционный токен. Его нужно будет передать в конфиг при установке. В дальнейшем токен можно увидеть в Настройках проекта. Чтобы в них попасть, надо кликнуть на название проекта в основной колонке.

Интеграция в код
Рассматривать будем на примере приложения онлайн-библиотеки, которое состоит из клиентской части на JavaScript и серверной части, которая использует Python и MongoDB. Если у вас не Python, выберите соответствующую интеграцию из списка. Если в списке нет вашего языка или фреймворка, напишите нам, и мы его добавим.
Сначала создаем проект Backend в воркспейсе. Так как он использует Python, выбираем соответствующий Кэтчер.

После выбора кэтчера мы увидим страницу с Интеграционным Токеном и ссылкой на GitHub с подробной инструкцией по подключению выбранного кэтчера. Следуя инструкциям, устанавливаем Кэтчер в код приложения и передаем токен в конфиг.
Теперь нужно проверить работу интеграции. Попробуем спровоцировать ошибку. В нашем примере достаточно отправить некорректный запрос в API:

Ошибка должна появиться на странице проекта.

Теперь создадим новый проект, который будет мониторить ошибки в клиентской части нашего демонстрационного приложения. Назовем его Frontend. Далее выбираем нужный нам кэтчер, в данном случае JavaScript и действуем по инструкции. Снова вызываем тестовую ошибку и проверяем, появилась ли она на странице Проекта.

Настройка уведомлений
Перейдите в Настройки проекта и выберите раздел "Уведомления". Тут можно добавить один или несколько сценариев: куда получать (Telegram, Slack, Email), что отправлять (Все или только новые), и настроить фильтры. Сценарии позволяют разграничить каналы получения уведомлений, например, все уведомления со словом Auth, отправлять в отдельный канал.

Тут все просто — указываем почту и получаем уведомления.
Slack
На текущий момент Slack не работает на территории РФ.
Уведомления в Telegram
Создайте специальный чат в телеграме, куда хотите получать уведомления. Добавьте в участники бота @hawkso_bot:

Далее вызовите команду /notify
— бот выдаст вам адрес, который надо вставить в форму в настройках уведомлений:

Заключение
Использование Hawk для мониторинга ошибок позволяет быстро выявлять и устранять проблемы, что делает ваш продукт более стабильным и надежным. Это напрямую влияет на улучшение пользовательского опыта и, как следствие, на рост прибыли компании. Система легко интегрируется и не требует сложных настроек, что позволяет оперативно начать работу и повысить качество продукта без лишних затрат времени.