Hi, I've been trying to convert MSTests using pipeline, and I've been struggling to make a step for that:
step([$class: 'XUnitBuilder', thresholds: [[$class: 'FailedThreshold', unstableThreshold: '1']], tools: [[$class: 'MSTest', pattern: 'TestResults\\*.trx']]]) For this I get the error log: java.lang.IllegalArgumentException: Could not instantiate {delegate={$class=XUnitBuilder, thresholds=[{$class=FailedThreshold, unstableThreshold=1}], tools=[{$class=MSTest, pattern=TestResults\*.trx}]}} for CoreStep(delegate: SimpleBuildStep{AnalysisPublisher(canComputeNew?: boolean, canResolveRelativePaths?: boolean, canRunOnFailed?: boolean, checkStyleActivated?: boolean, defaultEncoding?: String, dryActivated?: boolean, failedNewAll?: String, failedNewHigh?: String, failedNewLow?: String, failedNewNormal?: String, failedTotalAll?: String, failedTotalHigh?: String, failedTotalLow?: String, failedTotalNormal?: String, findBugsActivated?: boolean, healthy?: String, openTasksActivated?: boolean, pmdActivated?: boolean, shouldDetectModules?: boolean, thresholdLimit?: String, unHealthy?: String, unstableNewAll?: String, unstableNewHigh?: String, unstableNewLow?: String, unstableNewNormal?: String, unstableTotalAll?: String, unstableTotalHigh?: String, unstableTotalLow?: String, unstableTotalNormal?: String, useDeltaValues?: boolean, usePreviousBuildAsReference?: boolean, useStableBuildAsReference?: boolean, warningsActivated?: boolean) | ArtifactArchiver(artifacts: String, allowEmptyArchive?: boolean, caseSensitive?: boolean, defaultExcludes?: boolean, excludes?: String, fingerprint?: boolean, onlyIfSuccessful?: boolean) | CheckStylePublisher(canComputeNew?: boolean, canResolveRelativePaths?: boolean, canRunOnFailed?: boolean, defaultEncoding?: String, failedNewAll?: String, failedNewHigh?: String, failedNewLow?: String, failedNewNormal?: String, failedTotalAll?: String, failedTotalHigh?: String, failedTotalLow?: String, failedTotalNormal?: String, healthy?: String, pattern?: String, shouldDetectModules?: boolean, thresholdLimit?: String, unHealthy?: String, unstableNewAll?: String, unstableNewHigh?: String, unstableNewLow?: String, unstableNewNormal?: String, unstableTotalAll?: String, unstableTotalHigh?: String, unstableTotalLow?: String, unstableTotalNormal?: String, useDeltaValues?: boolean, usePreviousBuildAsReference?: boolean, useStableBuildAsReference?: boolean) | CoberturaPublisher(autoUpdateHealth?: boolean, autoUpdateStability?: boolean, coberturaReportFile?: String, failNoReports?: boolean, failUnhealthy?: boolean, failUnstable?: boolean, maxNumberOfBuilds?: int, onlyStable?: boolean, sourceEncoding?: SourceEncoding[ASCII, Big5, Big5_HKSCS, Big5_Solaris, Cp037, Cp1006, Cp1025, Cp1026, Cp1046, Cp1047, Cp1097, Cp1098, Cp1112, Cp1122, Cp1123, Cp1124, Cp1140, Cp1141, Cp1142, Cp1143, Cp1144, Cp1145, Cp1146, Cp1147, Cp1148, Cp1149, Cp1250, Cp1251, Cp1252, Cp1253, Cp1254, Cp1255, Cp1256, Cp1257, Cp1258, Cp1381, Cp1383, Cp273, Cp277, Cp278, Cp280, Cp284, Cp285, Cp297, Cp33722, Cp420, Cp424, Cp437, Cp500, Cp737, Cp775, Cp838, Cp850, Cp852, Cp855, Cp856, Cp857, Cp858, Cp860, Cp861, Cp862, Cp863, Cp864, Cp865, Cp866, Cp868, Cp869, Cp870, Cp871, Cp874, Cp875, Cp918, Cp921, Cp922, Cp930, Cp933, Cp935, Cp937, Cp939, Cp942, Cp942C, Cp943, Cp943C, Cp948, Cp949, Cp949C, Cp950, Cp964, Cp970, EUC_CN, EUC_JP, EUC_JP_LINUX, EUC_JP_Solaris, EUC_KR, EUC_TW, GB18030, GBK, ISCII91, ISO2022_CN_CNS, ISO2022_CN_GB, ISO2022CN, ISO2022JP, ISO2022KR, ISO8859_1, ISO8859_13, ISO8859_15, ISO8859_2, ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, JISAutoDetect, KOI8_R, MacArabic, MacCentralEurope, MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacHebrew, MacIceland, MacRoman, MacRomania, MacSymbol, MacThai, MacTurkish, MacUkraine, MS874, MS932, MS936, MS949, MS950, MS950_HKSCS, PCK, SJIS, TIS620, UnicodeBig, UnicodeBigUnmarked, UnicodeLittle, UnicodeLittleUnmarked, UTF_16, UTF_8, x_iso_8859_11, x_Johab], zoomCoverageChart?: boolean) | CopyArtifact(projectName: String, excludes?: String, filter?: String, fingerprintArtifacts?: boolean, flatten?: boolean, optional?: boolean, parameters?: String, resultVariableSuffix?: String, selector?: BuildSelector{DownstreamBuildSelector(upstreamProjectName: String, upstreamBuildNumber: String) | LastCompletedBuildSelector() | MultiJobBuildSelector() | ParameterizedBuildSelector(parameterName: String) | PermalinkBuildSelector(id: String) | PromotedBuildSelector(level: int) | SavedBuildSelector() | SpecificBuildSelector(buildNumber: String) | StatusBuildSelector(stable: boolean) | TriggeredBuildSelector(fallbackToLastSuccessful: boolean, upstreamFilterStrategy: UpstreamFilterStrategy[UseGlobalSetting, UseOldest, UseNewest], allowUpstreamDependencies: boolean) | WorkspaceSelector()}, target?: String) | FindBugsPublisher(canComputeNew?: boolean, canResolveRelativePaths?: boolean, canRunOnFailed?: boolean, defaultEncoding?: String, excludePattern?: String, failedNewAll?: String, failedNewHigh?: String, failedNewLow?: String, failedNewNormal?: String, failedTotalAll?: String, failedTotalHigh?: String, failedTotalLow?: String, failedTotalNormal?: String, healthy?: String, includePattern?: String, isRankActivated?: boolean, pattern?: String, shouldDetectModules?: boolean, thresholdLimit?: String, unHealthy?: String, unstableNewAll?: String, unstableNewHigh?: String, unstableNewLow?: String, unstableNewNormal?: String, unstableTotalAll?: String, unstableTotalHigh?: String, unstableTotalLow?: String, unstableTotalNormal?: String, useDeltaValues?: boolean, usePreviousBuildAsReference?: boolean, useStableBuildAsReference?: boolean) | Fingerprinter(targets: String) | GitHubCommitNotifier(resultOnFailure: String, statusMessage?: ExpandableMessage(content: String)) | GitHubCommitStatusSetter(commitShaSource?: GitHubCommitShaSource{BuildDataRevisionShaSource() | ManuallyEnteredShaSource(sha: String)}, contextSource?: GitHubStatusContextSource{DefaultCommitContextSource() | ManuallyEnteredCommitContextSource(context: String)}, errorHandlers?: StatusErrorHandler{ChangingBuildStatusErrorHandler(result: String) | ShallowAnyErrorHandler()}[], reposSource?: GitHubReposSource{AnyDefinedRepositorySource() | ManuallyEnteredRepositorySource(url: String)}, statusBackrefSource?: GitHubStatusBackrefSource{BuildRefBackrefSource() | ManuallyEnteredBackrefSource(backref: String)}, statusResultSource?: GitHubStatusResultSource{ConditionalStatusResultSource(results: ConditionalResult{AnyBuildResult(message?: String, state?: String) | BetterThanOrEqualBuildResult(message?: String, result?: String, state?: String)}[]) | DefaultStatusResultSource()}) | GitHubSetCommitStatusBuilder(contextSource?: GitHubStatusContextSource{DefaultCommitContextSource() | ManuallyEnteredCommitContextSource(context: String)}, statusMessage?: ExpandableMessage(content: String)) | JUnitResultArchiver(testResults: String, allowEmptyResults?: boolean, healthScaleFactor?: double, keepLongStdio?: boolean, testDataPublishers?: TestDataPublisher{}[]) | JavadocArchiver(javadocDir: String, keepAll: boolean) | Mailer(recipients: String, notifyEveryUnstableBuild: boolean, sendToIndividuals: boolean) | NUnitPublisher(testResultsPattern?: String, debug?: boolean, failIfNoResults?: boolean, keepJUnitReports?: boolean, skipJUnitArchiver?: boolean) | PerformancePublisher(sourceDataFiles?: String, errorFailedThreshold: int, errorUnstableThreshold: int, errorUnstableResponseTimeThreshold: String, relativeFailedThresholdPositive: double, relativeFailedThresholdNegative: double, relativeUnstableThresholdPositive: double, relativeUnstableThresholdNegative: double, nthBuildNumber: int, modePerformancePerTestCase: boolean, configType: String, modeOfThreshold: boolean, failBuildIfNoResultFile: boolean, compareBuildPrevious: boolean, modeThroughput: boolean, parsers?: PerformanceReportParser{IagoParser(glob: String) | JMeterCsvParser(glob: String) | JMeterParser(glob: String) | JUnitParser(glob: String) | JmeterSummarizerParser(glob: String) | TaurusParser(glob: String) | WrkSummarizerParser(glob: String)}[], constraints?: java.lang.UnsupportedOperationException: do not know how to categorize attributes of type ? extends hudson.plugins.performance.constraints.AbstractConstraint[], ignoreFailedBuilds?: boolean, ignoreUnstableBuilds?: boolean, modeEvaluation?: boolean, persistConstraintLog?: boolean) | PerformanceTestBuild(params?: String, generatePerformanceTrend?: boolean, printDebugOutput?: boolean, useSystemSitePackages?: boolean, useBztFailCriteria: boolean, useBztExitCode?: boolean) | PmdPublisher(canComputeNew?: boolean, canResolveRelativePaths?: boolean, canRunOnFailed?: boolean, defaultEncoding?: String, failedNewAll?: String, failedNewHigh?: String, failedNewLow?: String, failedNewNormal?: String, failedTotalAll?: String, failedTotalHigh?: String, failedTotalLow?: String, failedTotalNormal?: String, healthy?: String, pattern?: String, shouldDetectModules?: boolean, thresholdLimit?: String, unHealthy?: String, unstableNewAll?: String, unstableNewHigh?: String, unstableNewLow?: String, unstableNewNormal?: String, unstableTotalAll?: String, unstableTotalHigh?: String, unstableTotalLow?: String, unstableTotalNormal?: String, useDeltaValues?: boolean, usePreviousBuildAsReference?: boolean, useStableBuildAsReference?: boolean) | RichTextPublisher(stableText: String, unstableText: String, failedText: String, abortedText: String, unstableAsStable: boolean, failedAsStable: boolean, abortedAsStable: boolean, parserName: String, nullAction: String) | RobotPublisher(outputPath: String, outputFileName: String, disableArchiveOutput: boolean, reportFileName: String, logFileName: String, passThreshold: double, unstableThreshold: double, onlyCritical: boolean, otherFiles: String, enableCache: boolean) | TapPublisher(testResults: String, failIfNoResults: boolean, failedTestsMarkBuildAsFailure: boolean, outputTapToConsole: boolean, enableSubtests: boolean, discardOldReports: boolean, todoIsFailure: boolean, includeCommentDiagnostics: boolean, validateNumberOfTests: boolean, planRequired: boolean, verbose: boolean, showOnlyFailures: boolean, stripSingleParents: boolean, flattenTapResult: boolean, skipIfBuildNotOk: boolean) | TasksPublisher(asRegexp?: boolean, canComputeNew?: boolean, canResolveRelativePaths?: boolean, canRunOnFailed?: boolean, defaultEncoding?: String, excludePattern?: String, failedNewAll?: String, failedNewHigh?: String, failedNewLow?: String, failedNewNormal?: String, failedTotalAll?: String, failedTotalHigh?: String, failedTotalLow?: String, failedTotalNormal?: String, healthy?: String, high?: String, ignoreCase?: boolean, low?: String, normal?: String, pattern?: String, shouldDetectModules?: boolean, thresholdLimit?: String, unHealthy?: String, unstableNewAll?: String, unstableNewHigh?: String, unstableNewLow?: String, unstableNewNormal?: String, unstableTotalAll?: String, unstableTotalHigh?: String, unstableTotalLow?: String, unstableTotalNormal?: String, useDeltaValues?: boolean, usePreviousBuildAsReference?: boolean, useStableBuildAsReference?: boolean) | WarningsPublisher(canComputeNew?: boolean, canResolveRelativePaths?: boolean, canRunOnFailed?: boolean, consoleParsers?: ConsoleParser(parserName: String)[], defaultEncoding?: String, excludePattern?: String, failedNewAll?: String, failedNewHigh?: String, failedNewLow?: String, failedNewNormal?: String, failedTotalAll?: String, failedTotalHigh?: String, failedTotalLow?: String, failedTotalNormal?: String, healthy?: String, includePattern?: String, messagesPattern?: String, parserConfigurations?: ParserConfiguration(pattern: String, parserName: String)[], shouldDetectModules?: boolean, thresholdLimit?: String, unHealthy?: String, unstableNewAll?: String, unstableNewHigh?: String, unstableNewLow?: String, unstableNewNormal?: String, unstableTotalAll?: String, unstableTotalHigh?: String, unstableTotalLow?: String, unstableTotalNormal?: String, useDeltaValues?: boolean, usePreviousBuildAsReference?: boolean, useStableBuildAsReference?: boolean) | WsCleanup(cleanWhenAborted?: boolean, cleanWhenFailure?: boolean, cleanWhenNotBuilt?: boolean, cleanWhenSuccess?: boolean, cleanWhenUnstable?: boolean, cleanupMatrixParent?: boolean, deleteDirs?: boolean, externalDelete?: String, notFailBuild?: boolean, patterns?: Pattern(pattern: String, type: PatternType[INCLUDE, EXCLUDE])[], skipWhenFailed?(deprecated): boolean) | XUnitBuilder(tools: TestType{AUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | BoostTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CheckType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CustomType(pattern: String, customXSL: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | EmbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | FPCUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GTesterJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GoogleTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JBehavePluginType(pattern: String, failedIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MSTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | NUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | PHPUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | QTestLibType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | UnitTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | ValgrindJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | XUnitDotNetTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean)}[], thresholds: XUnitThreshold{FailedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String) | SkippedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String)}[], thresholdMode: int, testTimeMargin: String) | XUnitPublisher(tools: TestType{AUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | BoostTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CheckType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CustomType(pattern: String, customXSL: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | EmbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | FPCUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GTesterJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GoogleTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JBehavePluginType(pattern: String, failedIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MSTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | NUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | PHPUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | QTestLibType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | UnitTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | ValgrindJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | XUnitDotNetTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean)}[], thresholds: XUnitThreshold{FailedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String) | SkippedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String)}[], thresholdMode: int, testTimeMargin: String)}): java.lang.IllegalArgumentException: Could not instantiate {thresholds=[{$class=FailedThreshold, unstableThreshold=1}], tools=[{$class=MSTest, pattern=TestResults\*.trx}]} for XUnitBuilder(tools: TestType{AUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | BoostTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CheckType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CustomType(pattern: String, customXSL: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | EmbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | FPCUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GTesterJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GoogleTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JBehavePluginType(pattern: String, failedIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MSTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | NUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | PHPUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | QTestLibType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | UnitTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | ValgrindJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | XUnitDotNetTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean)}[], thresholds: XUnitThreshold{FailedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String) | SkippedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String)}[], thresholdMode: int, testTimeMargin: String): java.lang.UnsupportedOperationException: no known implementation of class org.jenkinsci.lib.dtkit.type.TestType is named MSTest at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:264) at org.jenkinsci.plugins.workflow.steps.StepDescriptor.newInstance(StepDescriptor.java:194) at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:181) at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126) at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108) at groovy.lang.GroovyObject$invokeMethod$13.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) at WorkflowScript.run(WorkflowScript:47) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.delegateAndExecute(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:167) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.executeSingleStage(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:427) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.catchRequiredContextForNode(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:183) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.catchRequiredContextForNode(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:181) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.executeSingleStage(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:426) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.call(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:101) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.toolsBlock(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:326) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.toolsBlock(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:325) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.call(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:99) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:225) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:224) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.call(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:98) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withCredentialsBlock(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:262) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withCredentialsBlock(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:261) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.call(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:97) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inDeclarativeAgent(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:358) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inDeclarativeAgent(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:357) at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.call(jar:file:/opt/programas/jenkins/home/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:95) at ___cps.transform___(Native Method) at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57) at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109) at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82) at sun.reflect.GeneratedMethodAccessor1122.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45) at sun.reflect.GeneratedMethodAccessor4638.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45) at sun.reflect.GeneratedMethodAccessor4638.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.dispatch(CollectionLiteralBlock.java:55) at com.cloudbees.groovy.cps.impl.CollectionLiteralBlock$ContinuationImpl.item(CollectionLiteralBlock.java:45) at sun.reflect.GeneratedMethodAccessor4638.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) at com.cloudbees.groovy.cps.Next.step(Next.java:74) at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:165) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: Could not instantiate {thresholds=[{$class=FailedThreshold, unstableThreshold=1}], tools=[{$class=MSTest, pattern=TestResults\*.trx}]} for XUnitBuilder(tools: TestType{AUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | BoostTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CheckType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CppUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | CustomType(pattern: String, customXSL: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | EmbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | FPCUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GTesterJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | GoogleTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JBehavePluginType(pattern: String, failedIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | JUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MSTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | MbUnitType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | NUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | PHPUnitJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | QTestLibType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | UnitTestJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | ValgrindJunitHudsonTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean) | XUnitDotNetTestType(pattern: String, skipNoTestFiles: boolean, failIfNotNew: boolean, deleteOutputFiles: boolean, stopProcessingIfError: boolean)}[], thresholds: XUnitThreshold{FailedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String) | SkippedThreshold(unstableThreshold: String, unstableNewThreshold: String, failureThreshold: String, failureNewThreshold: String)}[], thresholdMode: int, testTimeMargin: String): java.lang.UnsupportedOperationException: no known implementation of class org.jenkinsci.lib.dtkit.type.TestType is named MSTest at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:264) at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:380) at org.jenkinsci.plugins.structs.describable.DescribableModel.buildArguments(DescribableModel.java:318) at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:259) at org.jenkinsci.plugins.workflow.steps.StepDescriptor.newInstance(StepDescriptor.java:194) at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:181) at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126) at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108) at groovy.lang.GroovyObject$invokeMethod$13.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) ... 47 more Caused by: java.lang.UnsupportedOperationException: no known implementation of class org.jenkinsci.lib.dtkit.type.TestType is named MSTest at org.jenkinsci.plugins.structs.describable.DescribableModel.resolveClass(DescribableModel.java:425) at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:379) at org.jenkinsci.plugins.structs.describable.DescribableModel.coerceList(DescribableModel.java:461) at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:389) at org.jenkinsci.plugins.structs.describable.DescribableModel.buildArguments(DescribableModel.java:318) at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:259) ... 64 more Any hints? Thanks in advance, Thiago - "Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco." "This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure." -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/cdc0c3c514fd440e2dded4327475a53a95ad23da%40serpro.gov.br. For more options, visit https://groups.google.com/d/optout.