XML Report Processing
The XML Report Processing build feature allows using report files produced by an external tool in TeamCity. TeamCity parses the specified files on the disk and reports the results as the build results.
The report parsing can also be initiated from within the build via service messages.
XML Report Processing supports:
Testing frameworks:
JUnit Ant task
Maven Surefire/Failsafe plugin
NUnit-Console XML reports
TRX reports
Google Test XML reports
XML output from CTest
Code inspection tools:
SpotBugs, formerly FindBugs (code inspections only): only SpotBugs native format is supported (see the corresponding xsd). The XML report generated by the SpotBugs Maven plugin is NOT supported: it has a completely different schema layout and elements.
PMD
Checkstyle
JSLint XML reports
Code duplicates tools:
PMD Copy/Paste Detector XML reports
The bundled XML Report Processing plugin monitors the specified report paths, and when the matching files are detected, they are parsed according to the report type specified. For some report types, parsing of partially saved files is supported, so reporting is started as soon as first data is available and more data is reported as it is written on the disk.
The plugin takes into account only the files updated since the build start (determined by means of the last modification file timestamp).
Configuring XML Report Processing
Add XML Report Processing as a build feature and configure its settings:
Choose the report type and specify monitoring rules in the form of
+|-:path
separating them by a comma or new line.
Paths without the +|-:
prefix are treated as including. Ant-style wildcards are supported: for example, +dir/**.xml
means include all files with the .xml
extension under the dir
directory and -:**/test_old.xml
means in all directories, exclude test_old.xml
files.
Check the Verbose output option to enable detailed logging to the build log.
For FindBugs report processing, it is necessary to specify the path to the FindBugs installation on the agent. It will be used for retrieving actual bug patterns, categories and their messages.
For FindBugs, PMD and Checkstyle code inspections report processing you can specify maximum errors and warnings limits, exceeding which will cause a build failure. Leave these fields blank if there are no limits.
Development Links
Refer to the XML Test Reporting repository for implementation details. Note that the plugin has been developed internally since July 2023, so the repository is no longer updated, but it remains available for reference.