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