So when i attempted to run the gradle test I got an error with the following combinations. When I rolled back the ruby-runtime to 0.12 it passed all the jobdsl tests.
Add both plugin dependencies in the build.gradle file:
testPlugins 'org.jenkins-ci.plugins:ruby-runtime:0.13'
testPlugins 'org.jenkins-ci.ruby-plugins:rbenv:0.0.17'
Error when I run the jobdsl test:
com.mycompany.jobdsl.JobScriptsSpec > test script "microservices.groovy" FAILED
16:41:45 Expected no exception to be thrown, but got 'java.lang.ClassCastException'
16:41:45 at spock.lang.Specification.noExceptionThrown(Specification.java:118)
16:41:45 at com.mycompany.jobdsl.JobScriptsSpec.test script "#file.name"(JobScriptsSpec.groovy:52)
16:41:45
16:41:45 Caused by:
16:41:45 java.lang.ClassCastException: java.lang.Object cannot be cast to hudson.model.Describable
16:41:45 at hudson.model.Descriptor.toMap(Descriptor.java:986)
16:41:45 at hudson.util.DescribableList.toMap(DescribableList.java:151)
16:41:45 at hudson.model.Project.getBuildWrappers(Project.java:148)
16:41:45 at hudson.model.Project.createTransientActions(Project.java:252)
16:41:45 at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:731)
16:41:45 at hudson.model.AbstractProject.onLoad(AbstractProject.java:323)
16:41:45 at hudson.model.Project.onLoad(Project.java:97)
16:41:45 at hudson.model.Items.load(Items.java:372)
16:41:45 at hudson.model.ItemGroupMixIn$4.call(ItemGroupMixIn.java:280)
16:41:45 at hudson.model.ItemGroupMixIn$4.call(ItemGroupMixIn.java:278)
16:41:45 at hudson.model.Items.whileUpdatingByXml(Items.java:135)
16:41:45 at hudson.model.ItemGroupMixIn.createProjectFromXML(ItemGroupMixIn.java:278)
16:41:45 at jenkins.model.Jenkins.createProjectFromXML(Jenkins.java:3873)
16:41:45 at javaposse.jobdsl.plugin.JenkinsJobManagement.createNewItem(JenkinsJobManagement.java:502)
16:41:45 at javaposse.jobdsl.plugin.JenkinsJobManagement.createOrUpdateConfig(JenkinsJobManagement.java:136)
16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedJobs_closure4(AbstractDslScriptLoader.groovy:194)
16:41:45 at groovy.lang.Closure.call(Closure.java:414)
16:41:45 at groovy.lang.Closure.call(Closure.java:430)
16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedJobs(AbstractDslScriptLoader.groovy:187)
16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedItems(AbstractDslScriptLoader.groovy:174)
16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts_closure1(AbstractDslScriptLoader.groovy:61)
16:41:45 at groovy.lang.Closure.call(Closure.java:414)
16:41:45 at groovy.lang.Closure.call(Closure.java:430)
16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts(AbstractDslScriptLoader.groovy:46)
16:41:45 at com.mycompany.jobdsl.JobScriptsSpec.test script "#file.name"(JobScriptsSpec.groovy:46)
So when i attempted to run the gradle test I got an error with the following combinations. When I rolled back the ruby-runtime to 0.12 it passed all the jobdsl tests.
The set up fro the gradle test is based on this: https://github.com/sheehan/job-dsl-gradle-example
code: wrappers { rbenv('2.4.0') { ignoreLocalVersion() gems('bundler', 'rake', 'activesupport', 'fileutils') } }
rbenv: 0.0.17 ruby-runtime: 0.13 jobDslVersion=1.70 jenkinsVersion=2.138
Add both plugin dependencies in the build.gradle file: testPlugins 'org.jenkins-ci.plugins:ruby-runtime:0.13' testPlugins 'org.jenkins-ci.ruby-plugins:rbenv:0.0.17'
Error when I run the jobdsl test: com.mycompany.jobdsl.JobScriptsSpec > test script "microservices.groovy" FAILED 16:41:45 Expected no exception to be thrown, but got 'java.lang.ClassCastException' 16:41:45 at spock.lang.Specification.noExceptionThrown(Specification.java:118) 16:41:45 at com.mycompany.jobdsl.JobScriptsSpec.test script "#file.name"(JobScriptsSpec.groovy:52) 16:41:45 16:41:45 Caused by: 16:41:45 java.lang.ClassCastException: java.lang.Object cannot be cast to hudson.model.Describable 16:41:45 at hudson.model.Descriptor.toMap(Descriptor.java:986) 16:41:45 at hudson.util.DescribableList.toMap(DescribableList.java:151) 16:41:45 at hudson.model.Project.getBuildWrappers(Project.java:148) 16:41:45 at hudson.model.Project.createTransientActions(Project.java:252) 16:41:45 at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:731) 16:41:45 at hudson.model.AbstractProject.onLoad(AbstractProject.java:323) 16:41:45 at hudson.model.Project.onLoad(Project.java:97) 16:41:45 at hudson.model.Items.load(Items.java:372) 16:41:45 at hudson.model.ItemGroupMixIn$4.call(ItemGroupMixIn.java:280) 16:41:45 at hudson.model.ItemGroupMixIn$4.call(ItemGroupMixIn.java:278) 16:41:45 at hudson.model.Items.whileUpdatingByXml(Items.java:135) 16:41:45 at hudson.model.ItemGroupMixIn.createProjectFromXML(ItemGroupMixIn.java:278) 16:41:45 at jenkins.model.Jenkins.createProjectFromXML(Jenkins.java:3873) 16:41:45 at javaposse.jobdsl.plugin.JenkinsJobManagement.createNewItem(JenkinsJobManagement.java:502) 16:41:45 at javaposse.jobdsl.plugin.JenkinsJobManagement.createOrUpdateConfig(JenkinsJobManagement.java:136) 16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedJobs_closure4(AbstractDslScriptLoader.groovy:194) 16:41:45 at groovy.lang.Closure.call(Closure.java:414) 16:41:45 at groovy.lang.Closure.call(Closure.java:430) 16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedJobs(AbstractDslScriptLoader.groovy:187) 16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedItems(AbstractDslScriptLoader.groovy:174) 16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts_closure1(AbstractDslScriptLoader.groovy:61) 16:41:45 at groovy.lang.Closure.call(Closure.java:414) 16:41:45 at groovy.lang.Closure.call(Closure.java:430) 16:41:45 at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts(AbstractDslScriptLoader.groovy:46) 16:41:45 at com.mycompany.jobdsl.JobScriptsSpec.test script "#file.name"(JobScriptsSpec.groovy:46)