Hi, I was wondering what the technical limitations are for a workflow Groovy script, more specifically:
1) Is is possible to use classes like StringBuilder? Example: stage 'tryout' node { useStringBuilder() } def useStringBuilder() { echo "Before usage" StringBuilder test = new StringBuilder() echo "After usage" } If I use this method my in my flow.groovy script, the job never seems to print out "After usage". Instead I get the message: "org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use new java.lang.StringBuilder". Are "restricted" classes documented somewhere? Why is there a restriction? 2) Can you define your own classes within the Groovy script? stage 'tryout' node { new HelloWorld().printMessage() } class HelloWorld { def printMessage() { echo "Hello World" } } If I create an instance of a custom class, I get the following message: "org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object". 3) Is there a way to reuse methods or classes across multiple jobs? How do you envision reusable code? In all of these cases, I'd like to consume an existing, checked-in Groovy script via "Groovy CPS DSL from SCM". Thanks, Ben -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2410ce55-ad9d-4d2b-b63c-6ebd633b85b5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.