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

Named parameters are not supported in the sandbox

XMLWordPrintable

      Using a DSL in a workflow script that has a method with named params e.g.

      Object inside(String link = null, Closure body)
      

      Calling it in the workflow (with sandbox mode turned ON) results in the following exception:

      org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (DSL inside java.util.LinkedHashMap com.cloudbees.groovy.cps.impl.CpsClosure)
      	at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:155)
      	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:77)
      	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:60)
      

      Quote from Jesse:

      Not sure offhand how to fix; part of the general “Groovy hell” that is SandboxInterceptor: we get a high-level representation of a call point, and have to duplicate an incredibly complex system in Groovy to translate that to an actual Java method call.

            Unassigned Unassigned
            tfennelly Tom FENNELLY
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: