Integración con Azure DevOps
Con la extensión Allure Report para Azure DevOps, puedes configurar la generación automática de reportes después de cada lanzamiento de prueba para tu proyecto. Los reportes se muestran en una pestaña Allure Report en la página de ejecución del pipeline.
Por defecto, la extensión genera reportes con Allure Report 3. Si lo necesitas, puedes cambiar a Allure Report 2.
1. Instalar la extensión
Para que la integración funcione, necesitas instalar la extensión oficial Allure Report en tu organización de Azure DevOps.
En la página de la extensión Allure Report en el Visual Studio Marketplace, haz clic en Obtenerlo gratis.
Si se te solicita, inicia sesión como administrador de tu organización.
Selecciona tu organización en la lista desplegable. Haz clic en Instalar.

2. Modificar el pipeline
Una vez que la extensión esté instalada, habilita la tarea PublishAllureReport@2 en Azure Pipelines. Para publicar Allure Report para un pipeline, agrega un paso con esta tarea después de todos los pasos que producen resultados de pruebas:
steps:
- script: ./gradlew clean test
displayName: Ejecutar pruebas
- task: PublishAllureReport@2
displayName: Publicar Allure ReportSin parámetros, la tarea genera un reporte a partir de los resultados de prueba en el directorio allure-results y lo publica bajo el nombre “Allure Report”.
Parámetros
Especifica los parámetros en la sección inputs del paso si los valores predeterminados no se ajustan a tu proyecto:
testResultsDir— ruta al directorio con los resultados de prueba. Las rutas relativas se resuelven respecto al directorio de trabajo del pipeline ($(System.DefaultWorkingDirectory), la raíz del checkout del repositorio). Dependiendo del framework de pruebas y la configuración del adaptador de Allure, una ruta adecuada puede serallure-results,build/allure-resultso alguna ruta personalizada. El valor predeterminado esallure-results.reportName— el nombre para mostrar del reporte en la interfaz de Azure DevOps. El valor predeterminado es “Allure Report”. Este valor también tiene prioridad sobre el nombre del reporte definido en el archivo de configuración.reportDir— ruta a un reporte de Allure Report 3 generado por un paso anterior del pipeline. Si se especifica, la tarea publica este reporte en lugar de generar uno nuevo, y se ignoratestResultsDir. El reporte debe estar generado en modo de archivo único, a menos que haya sido publicado en un servicio de almacenamiento. Un reporte publicado de esta manera mantiene el nombre con el que fue generado — el parámetroreportNameno tiene efecto sobre él.allureVersion— una versión de Allure Report 2, por ejemplo2.36.0. Si se especifica, la tarea genera el reporte con Allure Report 2 en lugar de Allure Report 3.allureDownloadUrl— una URL personalizada para descargar la distribución de Allure Report 2, consulta Usar Allure Report 2.
- task: PublishAllureReport@2
displayName: Publicar Allure Report
inputs:
testResultsDir: build/allure-results
reportName: Mi ReporteArchivo de configuración
Si el directorio de trabajo contiene un archivo de configuración de Allure Report 3 (allurerc.js, allurerc.mjs, etc.), la tarea genera el reporte según dicho archivo. Ten en cuenta lo siguiente:
La tarea solo puede publicar reportes generados en modo de archivo único. Actívalo en la configuración de la siguiente manera:
jsexport default { name: "Mi Reporte", plugins: { awesome: { options: { singleFile: true, }, }, }, };Los reportes que no se generen en modo de archivo único se omiten con una advertencia.
Si el archivo de configuración importa paquetes, como
@allurereport/core, asegúrate de que tu pipeline instale las dependencias del proyecto antes de ejecutar la tarea.
Si no hay archivo de configuración, la tarea genera un reporte de archivo único con la configuración predeterminada.
Publicar múltiples reportes
Para publicar varios reportes desde una sola ejecución de pipeline, agrega múltiples pasos de tarea con diferentes parámetros:
- task: PublishAllureReport@2
displayName: Generar y publicar un nuevo reporte
inputs:
testResultsDir: path/to/allure-results
reportName: Reporte 1
- task: PublishAllureReport@2
displayName: Publicar un reporte ya generado
inputs:
reportDir: path/to/already-generated-reportLa pestaña Allure Report mostrará la lista de los reportes publicados junto con sus estadísticas de pruebas. Ten en cuenta que el segundo reporte en este ejemplo se muestra bajo el nombre con el que fue generado, no bajo un nombre definido en el pipeline.
Reportes publicados en un servicio de almacenamiento
Si tu configuración de Allure Report habilita la publicación en un servicio de almacenamiento, al generar el reporte también se sube al servicio, donde obtiene una URL permanente. En este caso, el directorio del reporte en el agente de construcción contiene una referencia a la copia alojada, y la tarea solo publica estos metadatos en Azure DevOps en lugar de los archivos del reporte. La pestaña Allure Report muestra el reporte alojado directamente desde su URL. El modo de archivo único no es necesario para estos reportes.
Por ejemplo, si tu paso de pruebas genera y publica el reporte, apunta la tarea al directorio resultante del reporte:
- script: npx allure run -- npm test
displayName: Ejecutar pruebas y generar el reporte
- task: PublishAllureReport@2
displayName: Publicar Allure Report
inputs:
reportDir: allure-reportComo la pestaña carga este reporte desde el servicio de almacenamiento, el reporte solo es visible para los usuarios cuyos navegadores pueden acceder al servicio.
WARNING
El servicio debe ser accesible desde una dirección HTTPS pública: los navegadores modernos no permiten que páginas en la web pública, incluyendo Azure DevOps, carguen contenido desde redes privadas, por lo que un reporte alojado en una dirección solo de intranet o localhost será bloqueado por el navegador del usuario.
Usar Allure Report 2
Para generar el reporte con Allure Report 2 en lugar de Allure Report 3, establece el parámetro allureVersion:
- task: PublishAllureReport@2
displayName: Publicar Allure Report
inputs:
allureVersion: 2.36.0La versión 2.36.0 viene incluida con la extensión y funciona sin descargar nada. Cualquier otra versión se descarga desde los lanzamientos en GitHub. No uses versiones anteriores a la 2.25.0, ya que no soportan el modo de archivo único requerido por la extensión.
Si tus agentes de construcción no pueden acceder a GitHub, utiliza el parámetro allureDownloadUrl para descargar la distribución de Allure Report 2 desde una ubicación personalizada. El marcador en la URL se reemplaza por el valor de allureVersion:
- task: PublishAllureReport@2
displayName: Publicar Allure Report
inputs:
allureVersion: 2.36.0
allureDownloadUrl: https://mirror.example.com/allure/allure-{{allureVersion}}.tgz3. Ver los reportes de pruebas
Después de la configuración, la página de cada nueva ejecución incluirá la pestaña Allure Report.
Si se publicó un solo reporte, la pestaña lo muestra directamente:

Si hay varios reportes, la pestaña los lista junto con sus estadísticas de pruebas, y puedes abrir cualquiera de ellos con el botón Ver:

Migrar desde la versión 1 de la extensión
La versión 1 de la extensión proporcionaba la tarea PublishAllureReport@1, que siempre generaba reportes con Allure Report 2. La versión 2 agrega la tarea PublishAllureReport@2 sin eliminar la anterior: los pipelines que referencian PublishAllureReport@1 siguen funcionando, y los reportes publicados previamente permanecen visibles en la pestaña Allure Report. Sin embargo, la tarea de la versión 1 está congelada en su último lanzamiento (1.5.0) y ya no recibe correcciones ni nuevas funciones, por lo que se recomienda actualizar tus pipelines.
INFO
La tarea de la versión 1 solo está disponible en organizaciones que la tenían instalada antes de que la extensión fuera actualizada. Si la extensión se instaló por primera vez en la versión 2 o posterior, PublishAllureReport@1 no se resuelve.
Para migrar un pipeline:
Cambia la referencia de la tarea de
PublishAllureReport@1aPublishAllureReport@2.Elige el motor de reporte. Todos los parámetros de la versión 1 (
testResultsDir,reportName,allureVersion,allureDownloadUrl) funcionan en la versión 2 con el mismo significado, y si tu paso estableceallureVersion, seguirá generando los mismos reportes de Allure Report 2 que antes. Sin embargo, si no se estableceallureVersion, la nueva tarea genera reportes con Allure Report 3 — un nuevo motor de reporte con un aspecto diferente. Para mantener los reportes como estaban, estableceallureVersionexplícitamente:yaml- task: PublishAllureReport@2 displayName: Publicar Allure Report inputs: allureVersion: 2.36.0
Limitaciones
La tarea solo puede publicar reportes generados en modo de archivo único, a menos que hayan sido publicados en un servicio de almacenamiento. Los reportes generados con un archivo de configuración deben tener el modo habilitado explícitamente.
El tamaño máximo de un reporte que la pestaña puede mostrar es 512 MB. La tarea falla si el archivo generado excede este límite. Los reportes mayores a 20 MB se suben en fragmentos y pueden tardar un poco más en abrirse en la pestaña.
Solución de problemas
La pestaña Allure Report muestra un error en lugar de un reporte
El error significa que no se adjuntó ningún reporte a la ejecución del pipeline, aunque la tarea se haya ejecutado. La causa más común es un archivo de configuración que no habilita el modo de archivo único: la tarea no puede publicar esos reportes y los omite, dejando una advertencia sobre el modo de archivo único en el registro de la tarea. Activa el modo en la configuración como se muestra arriba.
De lo contrario, revisa el registro del paso PublishAllureReport para errores y advertencias.
El reporte está vacío
Si la pestaña muestra un reporte sin resultados de prueba, la tarea generó el reporte desde un directorio incorrecto o vacío. Verifica lo siguiente:
El valor de
testResultsDircoincide con el directorio donde tu paso de pruebas realmente escribe los resultados, teniendo en cuenta que las rutas relativas se resuelven respecto a$(System.DefaultWorkingDirectory).Los pasos que producen resultados de prueba se ejecutan antes del paso
PublishAllureReporty realmente escriben los archivos de resultados. Por ejemplo, asegúrate de que el pipeline no omita el paso de pruebas cuando las pruebas fallen.El registro de la tarea: un error que mencione el directorio de resultados de prueba, como
can't read directory, significa que el directorio no existía cuando se ejecutó la tarea.