Hi,

To allow certain signatures in Groovy Sandbox go to "Manage Jenkins 
-> In-process Script Approval".
Please note that if you catch this kind of exceptions the signatures will 
not appear there.

Timur

суббота, 7 февраля 2015 г., 10:57:08 UTC+3 пользователь Baptiste Mathus 
написал:
>
> IIUC, for the moment only GStrings are whitelisted: see 
> https://github.com/jenkinsci/workflow-plugin/blob/master/cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsWhitelist.java#L54
>
> I guess we'll need feedback of Jesse or Kohsuke as to where they want to 
> go about that: filing JIRAs for classes to be whitelisted? another way?
>
> IMO this is still a WIP, as you can for example read in the changelog some 
> weeks ago
>
>
>    - Flow scripts may now be run in a Groovy sandbox to allow regular 
>    users to define them without administrator approval. More work is 
>    likely needed to supply a reasonable method call whitelist out of the box. 
>    
> <https://github.com/jenkinsci/workflow-plugin/blob/master/CHANGES.md#01-beta-5>
>
>
> Cheers
>
> 2015-02-07 8:45 GMT+01:00 Baptiste Mathus <[email protected] <javascript:>
> >:
>
>> Hi,
>> As the inline documentation (see the question marks on the right), this 
>> is because your code runs in sandboxed mode/you're not an admin:
>> if *Use Groovy Sandbox* is checked, or you are not an administrator, not 
>> all APIs will be available.
>>
>> (Though I somehow agree that at first sight StringBuilder could be 
>> whitelisted).
>>
>> About sharing libraries, I guess this doc could help: 
>> https://github.com/jenkinsci/workflow-plugin/blob/master/cps-global-lib/README.md
>>
>> HTH
>>
>> 2015-02-06 21:01 GMT+01:00 Benjamin Muschko <[email protected] 
>> <javascript:>>:
>>
>>> 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] <javascript:>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/2410ce55-ad9d-4d2b-b63c-6ebd633b85b5%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/jenkinsci-users/2410ce55-ad9d-4d2b-b63c-6ebd633b85b5%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> -- 
>> Baptiste <Batmat> MATHUS - http://batmat.net
>> Sauvez un arbre,
>> Mangez un castor !
>>
>> -- 
>> Baptiste <Batmat> MATHUS - http://batmat.net
>> Sauvez un arbre,
>> Mangez un castor !
>> nbsp;!
>>
>

-- 
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/d9d3c19e-cddd-4d25-b4dc-38ddddbb929f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to