Showing posts with label Jenkins Groovy CI. Show all posts
Showing posts with label Jenkins Groovy CI. Show all posts

Tuesday, June 24, 2014

Add failed test results to Jenkins build descriptions with Groovy

// Set description of all builds to result of failed tests
def whichJob = "myJob";
def job = hudson.model.Hudson.instance.getItem(whichJob);
def builds = job.getBuilds();
def bldRptStub = "<b>Failed Tests</b><ul>";
builds.each
{
  build ->
    build.setDescription('');
    if (build.testResultAction)
    {
      def bldRpt = bldRptStub;
      def setDescription = false;
      def tra = build.testResultAction;
      def childReports = tra.childReports;
      childReports.each
      {
        rpt ->
          def result = rpt.result;
          if (result.failedTests.size > 0)
          {
            setDescription = true;
          }
          result.failedTests.each
          {
            t ->
              if (t.name != '')
              {
                bldRpt += "<li>" + t.name + "</li>";
              }
          }
      }
      bldRpt += "</ul>";
      if (setDescription)
      {
        build.setDescription(bldRpt);
      }
    }
}