javascript

Уведомления для Slack в Allure 3

  • вторник, 15 сентября 2026 г. в 00:00:10
https://habr.com/ru/companies/testops_tms/articles/1081390/

Уведомления о результатах прогонов — важный элемент удобства при работе с тестами. Вместо того чтобы каждые пять минут проверять, закончился прогон или нет, вы просто получаете сообщение в Slack. Меньше отвлекающих факторов, больше времени в состоянии потока.

В Allure Report такие уведомления были реализованы в версии 3.0 с помощью плагина для уведомлений в Slack. В этом руководстве я покажу, как настроить канал в Slack так, чтобы каждый запуск Allure Report отправлял туда сводку по результатам.

1. Подготовка

Что понадобится

Node.js

Пример кода

В качестве примера будут использоваться тесты на Playwright:

https://github.com/rattus-aristarchus/guide-playwright-slack-notifications

Настройка

Чтобы запустить пример из этого руководства, вам понадобится установленный Node.js.

Затем скачайте свежий проект с Javascript и Playwright со страницы Allure Start.

Добавьте в проект Allure 3 одной из следующих команд (в зависимости от вашего пакетного менеджера):

npm add allure
yarn add allure
pnpm add allure

2. Настройка Slack-канала для уведомлений

Со стороны Slack понадобится приложение (App), которое будет получать данные от Allure и публиковать уведомления в выбранном вами канале.

Чтобы создать приложение, откройте https://api.slack.com/apps и нажмите Create New App:

Создание приложения
Создание приложения

В качестве шаблона выберите пустое приложение (Blank app):

Выбор шаблона
Выбор шаблона

Дальше укажите название и рабочее пространство, в котором должны появляться уведомления. Нажмите Create App:

Имя и рабочее пространство приложения
Имя и рабочее пространство приложения

Откройте созданное приложение и в разделе Features выберите OAuth & Permissions:

Настойки приложения
Настойки приложения

Пролистайте страницу до раздела Scopes. Добавьте права chat:write и files:write.

Область действия приложения
Область действия приложения

Вернитесь к началу страницы и нажмите Install to your workspace. Затем подтвердите разрешение на установку.

Установка в рабочее пространство
Установка в рабочее пространство

Теперь нужно создать канал в Slack, в который приложение будет публиковать отчёты.

Откройте своё рабочее пространство в Slack, наведите на Channels — возникнет кнопка +:

Создание канала
Создание канала

Щёлкните по ней, введите имя канала и выберите тип доступа.

Наконец, добавьте приложение с уведомлениями в свой канал. Сделать это можно, например, отправив в поле ввода сообщения команду /invite @Your App Name:

Добавление приложения к каналу
Добавление приложения к каналу

На этом со стороны Slack всё готово.

3. Настройка плагина Slack в Allure Report

Теперь нужно настроить отправку сообщений со стороны Allure Report. Ею заведует плагин Slack — установить его можно одной из следующих команд:

npm add @allurereport/plugin-slack
yarn add @allurereport/plugin-slack
pnpm add @allurereport/plugin-slack

Затем плагин нужно добавить в файл настроек Allure 3:

import { defineConfig } from "allure";

export default defineConfig({
  // Общее об отчёте:
  name: "Allure Report",
  output: "./allure-report",
  historyPath: "./history.jsonl",
  // Вся структура отчёта определяется плагинами:
  plugins: {
    // Плагин для Slack:
    slack: {
      options: {
        // Об этих параметрах — ниже.
        channel: "my_channel",
        token: "my_token",
      },
    },
  },
});

Теперь нужно заполнить параметры channel и token.

channel:

Здесь впишите название канала, в нашем случае «уведомления-allure-report»

token:

Снова откройте https://app.slack.com/app-settings и перейдите в OAuth & Permissions. Скопируйте Bot User OAuth Token:

5-bot-user-oauth-token.png

Теперь вставьте его в файл allurerc.js как значение параметра token.

Всё вместе теперь должно выглядеть примерно так:

import { defineConfig } from "allure";

export default defineConfig({
  name: "Allure Report",
  output: "./allure-report",
  historyPath: "./history.jsonl",
  plugins: {
    slack: {
      options: {
        channel: "уведомления-allure-report",
        token: "xoxb-XXXXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX",
      },
    },
  },
});

4. Проверка работы

Наконец, можно запускать тесты. Чтобы это сделать, в Allure 3 команду запуска тестов надо обернуть в следующую команду:

npx allure run -- "команда_запуска_тестов"

В нашем случае это будет выглядеть так:

npx allure run --config=./allurerc.js -- "npm test"

Выполните это в консоли — и уведомление о запуске должно сразу попасть в канал Slack:

Уведомление в канале Slack
Уведомление в канале Slack

Теперь каждый запуск тестов в настроенном проекте будет сообщать о себе в этом канале. Приятной работы!