TeamCity On-Premises 2024.12 Help

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.

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.

Last modified: 25 October 2024