Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-27124

When generating the jobs locally, exceptions occur when folder don't exist yet

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • job-dsl-plugin
    • None

      When running the DSL scripts locally, when a job is generated that should be inside a folder, and there is no corresponding directory for that folder, the job quits with an exception. It's rather cumbersome to recreate the Jenkins folder hierarchy locally, especially when there 100's of folders.

      Exception in thread "main" java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at com.simontuffs.onejar.Boot.run(Boot.java:313)
      at com.simontuffs.onejar.Boot.main(Boot.java:161)
      Caused by: java.io.FileNotFoundException: folder\subfolder\jobname.xml (The system
      cannot find the path specified)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
      at java.io.FileWriter.<init>(FileWriter.java:90)
      at org.codehaus.groovy.runtime.DefaultGroovyMethods.newWriter(DefaultGroovyMethods.java:16226)
      at org.codehaus.groovy.runtime.DefaultGroovyMethods.write(DefaultGroovyMethods.java:15326)
      at org.codehaus.groovy.runtime.dgm$931.invoke(Unknown Source)
      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMet
      hodSite.java:271)
      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
      at javaposse.jobdsl.dsl.FileJobManagement.createOrUpdateConfig(FileJobManagement.groovy:49)
      at javaposse.jobdsl.dsl.DslScriptLoader.extractGeneratedJobs(DslScriptLoader.java:111)
      at javaposse.jobdsl.dsl.DslScriptLoader.runDslEngine(DslScriptLoader.java:94)
      at javaposse.jobdsl.dsl.DslScriptLoader$runDslEngine.call(Unknown Source)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
      at javaposse.jobdsl.Run$_main_closure2.doCall(Run.groovy:35)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
      at groovy.lang.Closure.call(Closure.java:412)
      at groovy.lang.Closure.call(Closure.java:425)
      at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1376)
      at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1348)
      at org.codehaus.groovy.runtime.dgm$162.invoke(Unknown Source)
      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMet
      hodSite.java:271)
      at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
      at javaposse.jobdsl.Run.main(Run.groovy:33)
      ... 6 more

            daspilker Daniel Spilker
            mr_dfuse Nico Mommaerts
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: