Настройка вебхуков в ТестОпс для Slack
В релизе ТестОпс 5.18.0 мы добавили удобную функцию — теперь можно автоматически отправлять уведомления в сторонние сервисы с помощью настраиваемых вебхуков. Больше не нужно отвлекаться, чтобы проверить, завершился ли тестовый прогон — ТестОпс сообщит вам об этом автоматически!
Через вебхуки можно отправлять уведомления о начале важных этапов тестирования (например, регресса), передавать информацию о результатах запусков в мессенджеры, оповещать о создании дефектов, передавать данные для построения аналитики и многое другое.
Вебхуки работают с множеством сторонних систем, включая мессенджеры, такие как Telegram или Пачка. В этом гайде мы покажем, как настроить отправку уведомлений в Slack.
Настройка приложения в Slack
В ТестОпс вебхуки передают сообщения через POST-запросы с JSON-объектом в теле запроса. В Slack такие запросы могут принимать приложения (Apps). Поэтому для работы вебхуков необходимо создать:
- приложение
- канал, в который это приложение будет передавать сообщения.
Настройка канала
Если в Slack ещё нет канала, который будет получать уведомления из ТестОпс, его нужно создать.
Для этого перейдите в своё рабочее пространство в Slack, и под списком каналов (Channels) нажмите Add channel. В экране выбора шаблона канала оставьте вариант по умолчанию (Blank channel) и нажмите Next:
Введите имя канала и область видимости. Нажмите Create.
Настройка приложения
Чтобы создать приложение, перейдите в раздел Your Apps и нажмите Create New App:
Введите название приложения. Обратите внимание, что название не может содержать символы кириллицы — это вызовет ошибку при попытке подключить его к каналу.
Нажмите Create App.
Откроется раздел настроек приложения. В меню слева выберите раздел Features → Incoming Webhooks и включите переключатель Activate Incoming Webhooks.
После этого нажмите Add New Webhook to Workspace в нижней части страницы:
Выберите имя канала, в который приложение будет отправлять сообщения, и нажмите Allow.
Нажмите Copy напротив появившегося URL-адреса вебхука, чтобы скопировать его в буфер обмена.
Этот адрес понадобится на следующем этапе: на него ТестОпс будет отправлять HTTP-запросы.
Настройка вебхука в ТестОпс
У нас есть работающее приложение в Slack, готовое принимать POST-запросы из ТестОпс. Осталось настроить вебхук в самом ТестОпс.
Для этого откройте проект ТестОпс, перейдите в Настройки → Вебхуки и нажмите + Вебхук.
Откроется панель редактирования вебхука. Введите название для вебхука (например, «Уведомления в Slack»).
В поле Endpoint укажите URL-адрес вебхука, который вы сохранили из Slack.
ТестОпс может отправлять сообщения, связанные с запусками, дефектами и тест-планами. Нажмите Триггер для нужного типа события:
Доступны следующие типы событий:
- Создание или закрытие запусков
- Создание, удаление или закрытие дефектов
- Создание или удаление тест-планов
Редактирование запроса
После выбора триггера появится поле ввода, где можно отредактировать JSON-объект, отправляемый вебхуком. По умолчанию для события создания запуска предлагается следующий вариант:
json
{
"text": "Launch {{launchName}}, {{launchUrl}}, opened by {{createdBy}} in the project {{projectName}}"
}
В кавычках после "text"
здесь указано сообщение, которое будет отображено в мессенджере.
В фигурных скобках в тело сообщения можно добавлять переменные (например, вместо в сообщении будет отображено имя запуска). Так команде можно сообщить, скажем, о количестве ошибок (
) или сломанных тестов (
) в запуске.
Переменные добавляются вручную или с помощью кнопки { }:
Полный список переменных доступен на странице документации ТестОпс.
Структуру JSON-объекта можно полностью поменять:
json
{
"user": "{{ createdBy }}",
"date": "{{ createdDate }}",
"text": "{{ launchName }} created"
}
Или вовсе не использовать JSON:
{{ launchName }} closed by {{ closedBy }}
Если к POST-запросу необходимо добавить дополнительные заголовки, нажмите + Заголовок:
Редактирование запроса позволяет обеспечить корректное взаимодействие с внешними системами, а также сделать сообщение более выразительным и полезным.
Фильтры
Для запусков можно задать фильтры, которые будут пропускать сообщения только для определённых событий:
Фильтры можно создавать:
- для названий запусков;
- для тегов;
- для переменных окружения (например, браузер или устройство).
Это позволяет получать информацию только о важных запусках, фильтруя по ключевым словам в названиях или тегах.
В строке ввода можно объединять фильтры независимо от типа. При указании нескольких критериев одного типа, сообщение будет отправлено если выполнен хотя бы один критерий (или). При указании нескольких критериев разного типа, сообщение будет отправлено если выполнены все критерии (и).
Завершение настройки
Чтобы проверить, правильно ли настроен вебхук, нажмите кнопку Протестировать на панели триггера — на указанный канал в Slack будет отправлено тестовое сообщение:
Если всё работает, нажмите Создать. Теперь ТестОпс будет отправлять настроенные сообщения.