Integración con Slack Allure 3
Allure Report 3 puede publicar un resumen de cada ejecución en un canal de Slack. El plugin slack que realiza esto está incluido en el paquete allure.

El mensaje contiene el número de pruebas con cada estado y la lista de pruebas fallidas y rotas, por sus nombres completos. Los estados sin pruebas no se incluyen en la lista.
Hay dos formas de publicar el mensaje:
- con un webhook entrante - la configuración más simple, el mensaje siempre va al canal seleccionado para el webhook;
- con un token de bot - el mensaje va al canal configurado en la configuración de Allure, y la aplicación de Slack debe ser miembro del canal.
Publicar con un webhook entrante
En Slack API: Applications, crea una nueva aplicación para tu espacio de trabajo.
En la configuración de la aplicación, abre Incoming Webhooks, activa Activate Incoming Webhooks y haz clic en Add New Webhook. Selecciona el canal para los mensajes y copia la URL del webhook.
Pasa la URL a Allure en la variable de entorno
ALLURE_SLACK_WEBHOOK, por ejemplo, como un secreto de tu pipeline de CI.Cualquiera que conozca la URL puede publicar en el canal, así que no la mantengas en el archivo de configuración ni en ningún otro lugar bajo control de versiones.
Agrega el plugin
slacka la secciónpluginsdel archivo de configuración, junto al plugin de tu reporte:javascriptimport { defineConfig } from "allure"; export default defineConfig({ plugins: { awesome: {}, slack: {}, }, });json{ "plugins": { "awesome": {}, "slack": {} } }yamlplugins: awesome: {} slack: {}
Después de generar el reporte, Allure publica el mensaje en el canal.
Publicar con un token de bot
En Slack API: Applications, crea una nueva aplicación para tu espacio de trabajo.
En la configuración de la aplicación, abre OAuth & Permissions y agrega el scope
chat:writea Bot Token Scopes. Luego instala la aplicación en tu espacio de trabajo y copia el Bot User OAuth Token.En Slack, agrega la aplicación al canal para los mensajes, por ejemplo, escribiendo
/invite @app-nameen el canal.Pasa el token y el canal a Allure en las variables de entorno
ALLURE_SLACK_TOKENyALLURE_SLACK_CHANNEL. El canal puede configurarse por su ID, comoC0123456789, o por su nombre, comotest-resultso#test-results.Agrega el plugin
slackal archivo de configuración, de la misma forma que para el webhook entrante.
Si se proporcionan tanto una URL de webhook como un token, Allure usa el webhook.
Opciones
Todas las opciones también pueden proporcionarse mediante variables de entorno. Si una opción está configurada en el archivo de configuración, la variable de entorno no se utiliza.
| Opción | Variable de entorno | Descripción |
|---|---|---|
webhook | ALLURE_SLACK_WEBHOOK | URL del webhook entrante. Si se configura, token y channel no se utilizan. |
token | ALLURE_SLACK_TOKEN | Token de bot de la aplicación de Slack. |
channel | ALLURE_SLACK_CHANNEL | ID o nombre del canal donde publicar con el token de bot. |
Por ejemplo, para configurar el canal en el archivo de configuración y mantener solo el token en el entorno:
import { defineConfig } from "allure";
export default defineConfig({
plugins: {
awesome: {},
slack: {
options: {
channel: "test-results",
},
},
},
});{
"plugins": {
"awesome": {},
"slack": {
"options": {
"channel": "test-results"
}
}
}
}plugins:
awesome: {}
slack:
options:
channel: test-resultsSolución de problemas
Si Allure no puede publicar el mensaje, imprime el error en la consola y genera el reporte de todas formas. El error contiene el código de error que Slack devolvió, por ejemplo:
plugin slack error Error: slack error: not_in_channelnot_in_channel- la aplicación no es miembro del canal. Agrega la aplicación al canal.channel_not_found- no existe un canal con ese ID o nombre, o la aplicación no puede verlo.invalid_auth- el token no es válido.invalid_arguments- el canal no está configurado.