Sunday, 15 November 2009

Dashboard output in CruiseControl.Net 1.5

This applies to CruiseControl.Net 1.5x which doesn’t show much in the way of output reports by default.
There are basically 2 types of output:
  1. Build report
  2. XSL report
These types of output are enabled by CruiseControl.Net plugins. The build report output appears in the build summary when you first view the build results in the dashboard. The XSL reports appear as menu items on the left when you are viewing build results.
Both types of report are enabled by XSL files that are located in the <web dashboard installation>\xsl folder. 
To modify the types of output you need to edit the dashboard.config file located in the web dashboard installation folder.
<?xml version="1.0" encoding="utf-8"?>
<dashboard>
  <remoteServices>
  ...
  </remoteServices>
  <plugins>
    <farmPlugins>
    ...
    </farmPlugins>
    <serverPlugins>
      ...
    </serverPlugins>
    <projectPlugins>
      <projectReportProjectPlugin />
      <viewProjectStatusPlugin />
      <latestBuildReportProjectPlugin />
      <viewAllBuildsProjectPlugin />
    </projectPlugins>
    <buildPlugins>
      <buildReportBuildPlugin>
        <xslFileNames>
          <xslFile>xsl\header.xsl</xslFile>
          <xslFile>xsl\modifications.xsl</xslFile>
          <xslFile>xsl\unittests.xsl</xslFile>
        </xslFileNames>
      </buildReportBuildPlugin>
      <buildLogBuildPlugin />
      <xslReportBuildPlugin xslFileName="xsl\AlternativeNUnitDetails.xsl" actionName="NUnitBuildReport" description="NUnit Report"></xslReportBuildPlugin>
      <xslReportBuildPlugin xslFileName="xsl\timing.xsl" actionName="NUnitTimingReport" description="NUnit Timing"></xslReportBuildPlugin>
      <xslReportBuildPlugin xslFileName="xsl\unittests.xsl" actionName="UnitTestsReport" description="Unit Tests"></xslReportBuildPlugin>
    </buildPlugins>
    <securityPlugins>
      <simpleSecurity />
    </securityPlugins>
  </plugins>
</dashboard>
The <buildreportbuildplugin> element contains a list of XSL files. The output generated by these files will appear in the build report.
The  <xslreportbuildplugin> elements contain one XSL file each. The output generated by these files will appear as individual XSL reports accessible via left-hand menu items in the build report.
Note: You will need to touch the dashboard web.config file to get the dashboard to read the modified dashboard.config file.