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

MissingMethodException when name column used within collection closure of job dsl script

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • job-dsl-plugin
    • None
    • job-dsl-plugin 1.30

      The following job dsl script will cause a MissingMethodException to be thrown. Though if name() is removed from the columns configuration, the script works.

      def views = ['-Default-':[regex:'.*-default\$'],
      		 '9.3':[regex:'.*-9\\.3\$']]
      views.each { name, cfg -> 
      	listView(name) {
      		jobs {
              	regex(cfg.regex)
      		}
      		columns {
      		    status()
      		    weather()
      		    name()
      		    lastSuccess()
      		    lastFailure()
      		    lastDuration()
      		    buildButton()
      		}
      	}
      }
      

      The resulting stack trace when the above script is executed on http://job-dsl.herokuapp.com/.

      groovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: () values: []
      Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), take(int), each(groovy.lang.Closure)
      	at script1426003356915461733692$_run_closure1_closure2_closure4.doCall(script1426003356915461733692.groovy:11)
      	at script1426003356915461733692$_run_closure1_closure2_closure4.doCall(script1426003356915461733692.groovy)
      	at javaposse.jobdsl.dsl.ContextHelper.executeInContext(ContextHelper.groovy:14)
      	at javaposse.jobdsl.dsl.ContextHelper$executeInContext.callStatic(Unknown Source)
      	at javaposse.jobdsl.dsl.ContextHelper$executeInContext.callStatic(Unknown Source)
      	at javaposse.jobdsl.dsl.views.ListView.columns(ListView.groovy:51)
      	at script1426003356915461733692$_run_closure1_closure2.doCall(script1426003356915461733692.groovy:8)
      	at javaposse.jobdsl.dsl.JobParent.processView(JobParent.groovy:116)
      	at javaposse.jobdsl.dsl.JobParent.this$4$processView(JobParent.groovy)
      	at javaposse.jobdsl.dsl.JobParent$this$4$processView.callCurrent(Unknown Source)
      	at javaposse.jobdsl.dsl.JobParent$this$4$processView.callCurrent(Unknown Source)
      	at javaposse.jobdsl.dsl.JobParent.listView(JobParent.groovy:85)
      	at script1426003356915461733692$_run_closure1.doCall(script1426003356915461733692.groovy:4)
      	at script1426003356915461733692.run(script1426003356915461733692.groovy:3)
      	at javaposse.jobdsl.dsl.DslScriptLoader.runDslEngineForParent(DslScriptLoader.java:72)
      	at javaposse.jobdsl.dsl.DslScriptLoader$runDslEngineForParent.call(Unknown Source)
      	at com.sheehan.jobdsl.DslScriptExecutor.execute(DslScriptExecutor.groovy:31)
      	at com.sheehan.jobdsl.ScriptExecutor$execute.call(Unknown Source)
      	at Ratpack$_run_closure1_closure3_closure7.doCall(Ratpack.groovy:39)
      	at ratpack.groovy.internal.ClosureInvoker.invoke(ClosureInvoker.java:65)
      	at ratpack.groovy.handling.internal.ClosureBackedHandler.handle(ClosureBackedHandler.java:42)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.next(DefaultContext.java:223)
      	at ratpack.http.internal.MethodHandler.handle(MethodHandler.java:41)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.insert(DefaultContext.java:237)
      	at ratpack.handling.internal.ChainHandler.handle(ChainHandler.java:37)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.insert(DefaultContext.java:246)
      	at ratpack.path.internal.PathHandler.handle(PathHandler.java:38)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.next(DefaultContext.java:223)
      	at ratpack.path.internal.PathHandler.handle(PathHandler.java:40)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.next(DefaultContext.java:223)
      	at ratpack.path.internal.PathHandler.handle(PathHandler.java:40)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.insert(DefaultContext.java:237)
      	at ratpack.handling.internal.ChainHandler.handle(ChainHandler.java:37)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.insert(DefaultContext.java:237)
      	at ratpack.handling.internal.ChainHandler.handle(ChainHandler.java:37)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.insert(DefaultContext.java:246)
      	at ratpack.guice.internal.InjectorBindingHandler.handle(InjectorBindingHandler.java:36)
      	at ratpack.groovy.internal.ScriptBackedApp.handle(ScriptBackedApp.java:97)
      	at ratpack.handling.internal.DefaultContext.doNext(DefaultContext.java:448)
      	at ratpack.handling.internal.DefaultContext.next(DefaultContext.java:223)
      	at ratpack.handling.internal.DefaultContext$2.execute(DefaultContext.java:127)
      	at ratpack.handling.internal.DefaultContext$2.execute(DefaultContext.java:124)
      	at ratpack.exec.internal.ExecutionBacking$3.performOperation(ExecutionBacking.java:174)
      	at ratpack.handling.internal.InterceptedOperation.run(InterceptedOperation.java:43)
      	at ratpack.exec.internal.ExecutionBacking.intercept(ExecutionBacking.java:171)
      	at ratpack.exec.internal.ExecutionBacking$UserCodeSegment.run(ExecutionBacking.java:189)
      	at ratpack.exec.internal.ExecutionBacking.drain(ExecutionBacking.java:136)
      	at ratpack.exec.internal.ExecutionBacking.tryDrain(ExecutionBacking.java:108)
      	at ratpack.exec.internal.ExecutionBacking.<init>(ExecutionBacking.java:61)
      	at ratpack.exec.internal.DefaultExecControl.fork(DefaultExecControl.java:151)
      	at ratpack.handling.internal.DefaultContext.start(DefaultContext.java:124)
      	at ratpack.server.internal.NettyHandlerAdapter.channelRead0(NettyHandlerAdapter.java:191)
      	at ratpack.server.internal.NettyHandlerAdapter.channelRead0(NettyHandlerAdapter.java:80)
      	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
      	at ratpack.server.internal.NettyHandlerAdapter.channelRead(NettyHandlerAdapter.java:127)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
      	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
      	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
      	at ratpack.exec.internal.DefaultExecController$ExecControllerBindingThreadFactory$1.run(DefaultExecController.java:90)
      

            daspilker Daniel Spilker
            kylecronin Kyle Cronin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: