This plugin generates Allure Report from allure-results.
- Requires JDK 17 or newer
- Learn more about Allure Report at https://allurereport.org
- 📚 Documentation – discover official documentation for Allure Report
- ❓ Questions and Support – get help from the team and community
- 📢 Official annoucements – be in touch with the latest updates
- 💬 General Discussion – engage in casual conversations, share insights and ideas with the community
- Add following lines into your
pom.xmlbuild section:
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.12.0</version>
</plugin>mvn clean test- run your tests
You can generate a report using one of the following command:
mvn allure:serve
Report will be generated into temp folder. Web server with results will start.
mvn allure:report
Report will be generated tо directory: target/site/allure-maven/index.html
By default, the plugin uses Allure 3.
reportVersion selects the runtime family:
- blank or unset: Allure 3
3.4.1 3.x: Allure 32.x: Allure 2 commandline
You can configure the version in the plugin configuration:
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.12.0</version>
<configuration>
<reportVersion>3.4.1</reportVersion>
</configuration>
</plugin>Or from the command line:
mvn -Dreport.version=2.39.0 allure:reportFor Allure 3, the plugin provisions a private Node.js runtime and installs the Allure 3 package into the plugin cache. It does not require a system-wide Node.js installation.
Default cache layout under ${project.basedir}/.allure:
node-v24.14.1-<os>-<arch>: private Node.js runtimeallure-3.4.1: installed Allure 3 packagebin/allureorbin/allure.bat: generated launcher used by the plugin
Relevant Allure 3 parameters:
allure.install.directoryallure.node.versionallure.node.download.urlallure.npm.registryallure.package.pathallure.config.path
allure.package.path is an optional local .tgz or .tar.gz archive that is installed instead of
allure@<reportVersion>. This is mainly useful for tests and custom local package builds.
Allure 2 remains available when reportVersion is set to a 2.x release.
The Allure 2-specific allure.download.url customization still applies only to the Allure 2 ZIP
flow. It is rejected for Allure 3.
For Allure 3, the plugin supports:
- auto-detected project-root config files:
allurerc.jsallurerc.mjsallurerc.cjsallurerc.jsonallurerc.yamlallurerc.yml
- explicit config via
allure.config.path
JSON/YAML configs are merged into a generated config file, while JS/MJS/CJS configs are wrapped so
the plugin can still overlay the report output, report name, and singleFile setting.
The report goal preserves trend history automatically by default.
- configure it with
allure.history.enabled(trueby default) - scope:
allure:reportonly;allure:aggregateandallure:servekeep their current behavior - Allure 2: the plugin restores the previous
history/directory from${allure.install.directory}/history/report/historyinto a temporary input directory before generation, then refreshes the cache from the newly generated report - Allure 3: the plugin sets default
historyPathandappendHistory=truevalues that point to${allure.install.directory}/history/report/history.jsonl; explicit values in your Allure 3 config still win
For Allure 3, allure:serve performs:
allure generate <resultsDirs...> --config <generated config>allure open <reportDir> --config <generated config>
allure.serve.port is supported for Allure 3.
allure.serve.host is not supported for Allure 3. Use reportVersion 2.x if host binding is
required.
Additional information can be found on official website.