Skip to content

Add support for Allure 3#423

Merged
skuznetsov-al merged 4 commits intojenkinsci:masterfrom
caseyjhol:allure3-support
Feb 4, 2026
Merged

Add support for Allure 3#423
skuznetsov-al merged 4 commits intojenkinsci:masterfrom
caseyjhol:allure3-support

Conversation

@caseyjhol
Copy link
Copy Markdown

@caseyjhol caseyjhol commented Jan 29, 2026

Add Allure 3 Support

This PR adds support for Allure 3 alongside the existing Allure 2 support. Resolves #413.

Key Changes

  • New Allure version selector: Users can now choose between Allure 2 and Allure 3 in job configuration
  • Allure 3 installation: Uses system PATH approach - requires allure to be pre-installed via npm install -g allure
  • Allure 2 unchanged: Existing auto-download from Maven Central continues to work
  • JDK configuration skipped for Allure 3: Since Allure 3 is Node.js-based, JDK configuration is not required
  • Report output compatibility: Updated summary extraction to handle Allure 3's awesome/ subdirectory structure

Files Changed

File Description
Allure3Installation.java New tool installation class for PATH-based Allure 3
AllureInstallation.java New interface abstracting common functionality
ReportBuilder.java Added getAllure3Arguments() for Allure 3 CLI syntax
AllureReportPublisher.java Added allureVersion field and version-aware installation handling
AllureReportPublisherDescriptor.java Added Allure 3 installation lookup
FilePathUtils.java Handle Allure 3's output structure for summary extraction
config.jelly Added Allure version dropdown
config.properties Added i18n strings for new UI elements
Messages.properties Added Allure 3 display name

Usage

For Allure 2 (default):

  • Configure Allure Commandline in Global Tool Configuration (auto-downloads from Maven Central)
  • Select "Allure 2" in job configuration

For Allure 3:

  • Install Allure 3 on build agents: npm install -g allure
  • Select "Allure 3" in job configuration
  • Ensure allure command is available in PATH

Testing done

  • Added unit tests in Allure3ConfigTest.java to verify:
    • Default version is Allure 2 (backward compatibility)
    • Version selection works correctly
    • Descriptor returns Allure 3 installation
    • Available versions are returned correctly
  • Added createAllure3Publisher() test helper in TestUtils.java
  • Manual verification of code compilation (no linter errors)
  • Integration tests require Allure 3 to be installed on the CI agent to run end-to-end

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

@mykhailo-e
Copy link
Copy Markdown

This PR is very appreciated! thank you @caseyjhol
I hope it will be approved soon

@skuznetsov-al skuznetsov-al self-requested a review February 4, 2026 10:52
@caseyjhol
Copy link
Copy Markdown
Author

@skuznetsov-al I resolved build issues.

@skuznetsov-al skuznetsov-al merged commit eaa1e38 into jenkinsci:master Feb 4, 2026
@dsufriawan
Copy link
Copy Markdown

dsufriawan commented Apr 14, 2026

Hi @caseyjhol, thank you for supporting Allure 3 with the latest Jenkins Allure plugin.
Is there any documentation on how to integrate and configure it in Jenkins?

I noticed there is a new option in Manage Jenkins -> Tools -> Allure 3 (from PATH) installations
Which I have no idea on how to set this up.

Previously, I used "Allure Commandline installations" option and selected Maven Central, but now it says "legacy". I can see the Version but now as a text field, previously it was a dropdown populated with Allure Commandline version list from Maven.

There is no documentation on how to setup this in Allure Jenkins official page: https://allurereport.org/docs/integrations-jenkins/

Cheers.

@caseyjhol
Copy link
Copy Markdown
Author

@dsufriawan Seems like an oversight on my part; I could've sworn I added some external documentation. For Allure 3, you need 'allure' installed (npm install -g allure) and in PATH.

@dsufriawan
Copy link
Copy Markdown

Hi @caseyjhol, I just tried pipeline syntax guideline, we need to mention the allureVersion as well if using script pipeline
allure ([ allureVersion: '3', includeProperties: true, results: [[path: 'allure-results']] ])

If not, it will always fallback to Allure 2 (even though npm install -g allure already done). It may worth documenting this part as well

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jenkins support for 3.0.0 release

4 participants