Skip to main content
Version: QB80

Reports Aggregation

Scenario

Setup a configuration to act as dashboard of other configurations: it should reflect status of latest build of selected configurations, as well as aggregate various reports from those configurations.

Demonstration

Please visit the demo aggregate configuration. It acts as dashboard of its child configurations:

  • Status of this configuration is successful only if all its child configurations built successfully; otherwise, the failed configurations will be displayed.
  • For demonstration purpose, it is configured to only aggregate JUnit reports generated by child configurations. Various indicators such as success rate, test duration is the merge result of child test reports, and the package view displays packages coming from the child configurations, respectively org.apache.commons.collections , and org.apache.commons.configuration. Report statistics will reflect this aggregation as well.

Resolution

  1. For each configuration need to be aggregated, add steps to publish report XML files as artifacts. Taking the commons-collection for example, the step publish junit xml reports is created to publish JUnit report xml files as artifacts.
  2. In the aggregation configuration, set up QuickBuild repositories to checkout desired report xml files from desired configurations. When define these repositories, please make sure the build property is defined as latest build.
  3. In the aggregation configuration, set up steps to:
    1. Checkout from QuickBuild repositories defined above.
      Checkout step will fail if corresponding configuration fails to build.
    2. Publish desired reports using all retrieved report xml files.
  4. Edit general setting of the aggregation configuration to set a periodical build schedule. With this setting, the aggregation configuration will build automatically to aggregate build status and reports if there are new builds generated in corresponding configurations.