Testing DSL Scripts Using Gradle Failing

47 Views Asked by At

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.

0

There are 0 best solutions below