-
-
Notifications
You must be signed in to change notification settings - Fork 143
Description
The HTML Publisher Plugin is generating an incorrect URL for the published HTML reports. Instead of using the actual file name from the Index page[s] pattern, it creates a directory with a modified name, leading to broken links.
Steps to Reproduce:
- Install Jenkins: Install and configure a Jenkins instance.
- Install HTML Publisher Plugin: Install the HTML Publisher Plugin from the Jenkins Plugin Manager.
- Create a Job: Create a new freestyle job in Jenkins.
- Configure Build Steps: Add build steps to generate HTML reports (e.g., run a test suite that produces HTML output). Ensure the generated reports are placed in a directory named "report" within the build artifacts. In this example, the report file is named "byteblower_20250123_054647.html" and is located in job///artifact/report/byteblower_20250123_054647.html.
- Configure HTML Publisher:
- In the "Publish HTML reports" section, configure the following:
- HTML directory to archive: report/
- Index page[s]: byteblower_*.html
- Index page title[s] (Optional): Byteblower Report
- Report title: Byteblower Report
- In the "Publish HTML reports" section, configure the following:
- Run the Job: Trigger the job to run.
- Verify Results:
- Go to the job's build page and navigate to the "Published Reports" section.
- Observe the generated URL for the HTML report. It should be in the format: http:///job///report/
- However, the url generated by the plugin is "http://localhost:8080/job///Byteblower_20Report/"
Question: Why is the string "Byteblower_20Report" appended? is this configurable?
We are trying to perform automation, so need to check whether this is a bug or an expected behavior.
Logs of Archiving reports:
Archiving artifacts [htmlpublisher] Archiving HTML reports... [htmlpublisher] Archiving at BUILD level /var/jenkins_home/jobs/ByteBlowerExecution1/workspace/report to /var/jenkins_home/jobs/ByteBlowerExecution1/builds/384/htmlreports/Byteblower_20Report [htmlpublisher] Copying recursive using current thread ERROR: Directory '/var/jenkins_home/jobs/ByteBlowerExecution1/workspace/report' exists but failed copying to '/var/jenkins_home/jobs/ByteBlowerExecution1/builds/384/htmlreports/Byteblower_20Report'. ERROR: This is especially strange since your build otherwise succeeded. Build step 'Publish HTML reports' changed build result to FAILURE Finished: FAILURE
Originally reported by nidhinrv, imported from: String is appended in the report url generated by HTML Publisher plugin
- assignee: r2b2_nz
- status: Open
- priority: Major
- component(s): htmlpublisher-plugin
- resolution: Unresolved
- votes: 0
- watchers: 1
- imported: 20251211-193728
Raw content of original issue
The HTML Publisher Plugin is generating an incorrect URL for the published HTML reports. Instead of using the actual file name from the Index page[s] pattern, it creates a directory with a modified name, leading to broken links.
Steps to Reproduce:
- Install Jenkins: Install and configure a Jenkins instance.
- Install HTML Publisher Plugin: Install the HTML Publisher Plugin from the Jenkins Plugin Manager.
- Create a Job: Create a new freestyle job in Jenkins.
- Configure Build Steps: Add build steps to generate HTML reports (e.g., run a test suite that produces HTML output). Ensure the generated reports are placed in a directory named "report" within the build artifacts. In this example, the report file is named "byteblower_20250123_054647.html" and is located in job/<job name>/<build_no>/artifact/report/byteblower_20250123_054647.html.
- Configure HTML Publisher:
- In the "Publish HTML reports" section, configure the following:
- HTML directory to archive: report/
- Index page[s]: byteblower_*.html
- Index page title[s] (Optional): Byteblower Report
- Report title: Byteblower Report
- Run the Job: Trigger the job to run.
- Verify Results:
- Go to the job's build page and navigate to the "Published Reports" section.
- Observe the generated URL for the HTML report. It should be in the format: http://<jenkins-server>/job/<job-name>/<build-number>/report/
- However, the url generated by the plugin is "http://localhost:8080/job/<job-name>/<build number>/Byteblower_20Report/"
Question: Why is the string "Byteblower_20Report" appended? is this configurable?
We are trying to perform automation, so need to check whether this is a bug or an expected behavior.
Logs of Archiving reports:
Archiving artifacts [htmlpublisher] Archiving HTML reports... [htmlpublisher] Archiving at BUILD level /var/jenkins_home/jobs/ByteBlowerExecution1/workspace/report to /var/jenkins_home/jobs/ByteBlowerExecution1/builds/384/htmlreports/Byteblower_20Report [htmlpublisher] Copying recursive using current thread ERROR: Directory '/var/jenkins_home/jobs/ByteBlowerExecution1/workspace/report' exists but failed copying to '/var/jenkins_home/jobs/ByteBlowerExecution1/builds/384/htmlreports/Byteblower_20Report'. ERROR: This is especially strange since your build otherwise succeeded. Build step 'Publish HTML reports' changed build result to FAILURE Finished: FAILURE