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 [email protected].
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.