plugin Job adsl use a older release for cucumber report

171 views
Skip to first unread message

mustapha es sakhi

unread,
Jul 21, 2017, 7:24:56 AM7/21/17
to job-dsl-plugin

Greetings ,

I'm using version 1.64 for DSL and 3.9 for plugin cucumber-report to generate jobs, users, roles with pattern and publishing cucumber-report for each job ,
All my configuration works well. But I have the following errors in Jenkins global:

MissingFieldException: No field 'pluginUrlPath' found in class 'net.masterthought.jenkins.CucumberReportPublisher',
MissingFieldException: No field 'skippedFails' found in class 'net.masterthought.jenkins.CucumberReportPublisher',
MissingFieldException: No field 'pendingFails' found in class 'net.masterthought.jenkins.CucumberReportPublisher',
MissingFieldException: No field 'undefinedFails' found in class 'net.masterthought.jenkins.CucumberReportPublisher',
MissingFieldException: No field 'missingFails' found in class 'net.masterthought.jenkins.CucumberReportPublisher',
MissingFieldException: No field 'noFlashCharts' found in class 'net.masterthought.jenkins.CucumberReportPublisher',
MissingFieldException: No field 'ignoreFailedTests' found in class 'net.masterthought.jenkins.CucumberReportPublisher'

I use this conf in DSL to configure cucumber report:

publishers {
cucumberReports {
jsonReportPath()
pluginUrlPath()
fileIncludePattern("**/*.json")
fileExcludePattern()
failOnSkipSteps("0")
failOnPendingSteps("0")
failOnUndefinedSteps("0")
failOnMissingSteps("0")
turnOffFlashCharts("0")
ignoreFailedTests()
parallelTesting()
}
}



in the
PublisherContext.groovy i found this :

/**
* Publishes Cucumber results as HTML reports.
*
* @since 1.41
*/
@RequiresPlugin(id = 'cucumber-reports',
minimumVersion = '0.6.0' ) ---------> but maximumVersion =1.0
void cucumberReports(@DslContext(CucumberReportsContext) Closure closure) {
CucumberReportsContext context = new CucumberReportsContext()
ContextHelper.executeInContext(closure, context)

publisherNodes << new NodeBuilder().'net.masterthought.jenkins.CucumberReportPublisher' {
jsonReportDirectory(context.jsonReportPath ?: '')
pluginUrlPath(context.pluginUrlPath ?: '')
fileIncludePattern(context.fileIncludePattern ?: '')
fileExcludePattern(context.fileExcludePattern ?: '')
skippedFails(context.failOnSkippedSteps)
pendingFails(context.failOnPendingSteps)
undefinedFails(context.failOnUndefinedSteps)
missingFails(context.failOnMissingSteps)
noFlashCharts(context.turnOffFlashCharts)
ignoreFailedTests(context.ignoreFailedTests)
parallelTesting(context.parallelTesting)
}
}
 
The maximum version of this code should be is 1.0 et this is note applicable for version 3.9 for exemple:

the attribute for classe
CucumberReportPublisher in new version is like this:

public final String jsonReportDirectory;
public final String fileIncludePattern;
public final String fileExcludePattern;
public final int failedStepsNumber;
public final int skippedStepsNumber;
public final int pendingStepsNumber;
public final int undefinedStepsNumber;
public final int failedScenariosNumber;
public final int failedFeaturesNumber;
public final Result buildStatus;
public final boolean parallelTesting;
public final String jenkinsBasePath;
private File targetBuildDirectory;


Can you please update the code to the new version of cucumber-report.

Best Regards,
Mustapha ES SAKHI

Daniel Spilker

unread,
Sep 7, 2017, 4:20:49 PM9/7/17
to job-dsl...@googlegroups.com
The Cucumber Reports plugin has evolved in an incompatible way.

You can use the Automatically Generated DSL to get support for the latest version:

job(String name) {
  publishers
    cucumber {
      fileIncludePattern(String value)
      buildStatus(String value)
      classifications {
        classification {
          key(String value)
          value(String value)
        }
      }
      failedFeaturesNumber(int value)
      failedScenariosNumber(int value)
      failedStepsNumber(int value)
      fileExcludePattern(String value)
      jsonReportDirectory(String value)
      parallelTesting(boolean value)
      pendingStepsNumber(int value)
      skippedStepsNumber(int value)
      sortingMethod(String value)
      trendsLimit(int value)
      undefinedStepsNumber(int value)
    }
  }
}


Daniel

--
You received this message because you are subscribed to the Google Groups "job-dsl-plugin" group.
To unsubscribe from this group and stop receiving emails from it, send an email to job-dsl-plugin+unsubscribe@googlegroups.com.
To post to this group, send email to job-dsl-plugin@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/job-dsl-plugin/615c80bb-0ca0-4a76-a133-f01ca4eabb82%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages