Начало работы с Хоуком

4 min read

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

Интегрировать Хоука легко. Последовательность шагов:

  1. Зарегистрироваться
  2. Создать воркспейс
  3. Добавить проект и получить Интеграционный токен
  4. Установить в свой код Кэтчер

Регистрация 

Регистрация в проекте осуществляется через почту. Переходите на  https://garage.hawk.so/ и нажимайте Sign Up.

Демо

У проекта есть демо-воркспейс, который позволяет ознакомиться с интерфейсом и основной функциональностью. Для вступления в него, нажимайте кнопку Join Demo Workspace на сайте hawk.so

Demo Workspace

Создание воркспейса

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

Создание рабочей области

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

Создание проекта

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

Добавление проекта

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

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

Интеграции

Интеграция в код

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

Сначала создаем проект Backend в воркспейсе. Так как он использует Python, выбираем соответствующий Кэтчер.

Установка кэтчера

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

Теперь нужно проверить работу интеграции. Попробуем спровоцировать ошибку. В нашем примере достаточно отправить некорректный запрос в API:

Некорректный запрос

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

Отображение ошибки

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

Настройка уведомлений

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

Настройка уведомление

Email

Тут все просто — указываем почту и получаем уведомления.

Slack

На текущий момент Slack не работает на территории РФ.

Уведомления в Telegram

Создайте специальный чат в телеграме, куда хотите получать уведомления. Добавьте в участники бота @hawkso_bot:

Телеграм-бот Хоука

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

Уведомления в Telegram

Заключение

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