I'm currently testing my jenkins groovy pipelines using gradle based on below example: https://github.com/jenkinsci/job-dsl-plugin/wiki/Testing-DSL-Scripts
Gradle Version: 5.3.1 Job DSL Version: 1.70 Jenkins Version: 2.138.2
But when running "./gradlew build" the test is failing for groovy scripts that has traits of gitTagDiscovery()
Please see sample below:
multibranchPipelineJob 'multi-branch', {
branchSources {
branchSource {
source {
git {
id '1232434343234'
remote 'https://github.com/test/test2.git'
credentialsId 'test-token'
traits {
gitBranchDiscovery()
gitTagDiscovery() // if you need tag discovery
}
}
}
strategy {
defaultBranchPropertyStrategy {
props {
noTriggerBranchProperty()
}
}
}
}
}
}
Below is the exception I encountered:
JobScriptsSpec > test script test.groovy FAILED
Expected no exception to be thrown, but got 'javaposse.jobdsl.dsl.DslScriptException'
at spock.lang.Specification.noExceptionThrown(Specification.java:118)
at JobScriptsSpec.test script #file.name(JobScriptsSpec.groovy:25)
Caused by:
javaposse.jobdsl.dsl.DslScriptException: (script, line 24) No signature of method: javaposse.jobdsl.plugin.structs.DescribableListContext.gitTagDiscovery() is applicable for argument types: () values: []
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScriptEngine(AbstractDslScriptLoader.groovy:112)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts_closure1(AbstractDslScriptLoader.groovy:59)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts(AbstractDslScriptLoader.groovy:46)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScript(AbstractDslScriptLoader.groovy:85)
at JobScriptsSpec.test script #file.name(JobScriptsSpec.groovy:22)
Caused by:
groovy.lang.MissingMethodException: No signature of method: javaposse.jobdsl.plugin.structs.DescribableListContext.gitTagDiscovery() is applicable for argument types: () values: []
at javaposse.jobdsl.plugin.structs.DescribableListContext.methodMissing(DescribableListContext.groovy:65)
at script$_run_closure1$_closure2$_closure6$_closure7.closure9$_closure10(script:24)
at script$_run_closure1$_closure2$_closure6$_closure7.closure9$_closure10(script)
at javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:16)
at javaposse.jobdsl.plugin.structs.DescribableContext.getValue(DescribableContext.groovy:108)
at javaposse.jobdsl.plugin.structs.DescribableContext.methodMissing(DescribableContext.groovy:65)
at script$_run_closure1$_closure2$_closure6.closure7$_closure9(script:10)
at script$_run_closure1$_closure2$_closure6.closure7$_closure9(script)
at javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:16)
at javaposse.jobdsl.plugin.structs.DescribableListContext.methodMissing(DescribableListContext.groovy:59)
at script$_run_closure1$_closure2.closure6$_closure7(script:6)
at script$_run_closure1$_closure2.closure6$_closure7(script)
at javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:16)
at javaposse.jobdsl.plugin.structs.DescribableContext.getValue(DescribableContext.groovy:122)
at javaposse.jobdsl.plugin.structs.DescribableContext.methodMissing(DescribableContext.groovy:65)
at script$_run_closure1.closure2$_closure6(script:4)
at script$_run_closure1.closure2$_closure6(script)
at javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:16)
at javaposse.jobdsl.plugin.ExtensionPointHelper$DescribableExtension.call(ExtensionPointHelper.groovy:115)
at javaposse.jobdsl.plugin.JenkinsJobManagement.callExtension(JenkinsJobManagement.java:389)
at javaposse.jobdsl.dsl.AbstractExtensibleContext.methodMissing(AbstractExtensibleContext.groovy:17)
at script.run_closure1$_closure2(script:3)
at script.run_closure1$_closure2(script)
at javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:16)
at javaposse.jobdsl.dsl.jobs.MultibranchWorkflowJob.branchSources(MultibranchWorkflowJob.groovy:20)
at script.run_closure1(script:2)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at javaposse.jobdsl.dsl.JobParent.processItem(JobParent.groovy:105)
at javaposse.jobdsl.dsl.JobParent.multibranchPipelineJob(JobParent.groovy:96)
at script.run(script:1)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScript(AbstractDslScriptLoader.groovy:132)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScriptEngine(AbstractDslScriptLoader.groovy:106)
... 6 more
Already tried to update jenkins version and also the job dsl version but error stills persist. Hope you can help me fix this error. Thank you in advance.