Jenkins 管道抛出 reporting:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException
Jenkins pipeline throws reporting:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException
Jenkins pipeline throws
reporting:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:
Scripts not permitted to use method groovy.util.XmlSlurper parseText
java.lang.String
代码如下:
def testsuites = new XmlSlurper().parseText(xml)
我在 ScriptApproval 中也看不到这个方法。我们如何手动或任何其他解决方案将此方法列入白名单?
我已经使用 Jenkins 2.60.3 测试了您的用例,在 运行 使用 new XmlSlurper().parseText(someXml)
的脚本之后,我得到了预期的异常:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.util.XmlSlurper parseText java.lang.String
at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:175)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:137)
at org.kohsuke.groovy.sandbox.impl.Checker.call(Checker.java:155)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:159)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
at WorkflowScript.run(WorkflowScript:9)
而且我在 /scriptApproval
中看到我可以批准它:
您可以随时尝试手动添加此批准。在 Jenkins 主目录中,您可以找到 scriptApproval.xml
文件。添加:
<string>method groovy.util.XmlSlurper parseText java.lang.String</string>
在 <approvedSignatures>
标签内并重启 Jenkins。它会产生与通过 Jenkins 批准此签名相同的效果 UI.
Jenkins pipeline throws reporting:org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.util.XmlSlurper parseText java.lang.String
代码如下:
def testsuites = new XmlSlurper().parseText(xml)
我在 ScriptApproval 中也看不到这个方法。我们如何手动或任何其他解决方案将此方法列入白名单?
我已经使用 Jenkins 2.60.3 测试了您的用例,在 运行 使用 new XmlSlurper().parseText(someXml)
的脚本之后,我得到了预期的异常:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.util.XmlSlurper parseText java.lang.String
at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:175)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:137)
at org.kohsuke.groovy.sandbox.impl.Checker.call(Checker.java:155)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:159)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
at WorkflowScript.run(WorkflowScript:9)
而且我在 /scriptApproval
中看到我可以批准它:
您可以随时尝试手动添加此批准。在 Jenkins 主目录中,您可以找到 scriptApproval.xml
文件。添加:
<string>method groovy.util.XmlSlurper parseText java.lang.String</string>
在 <approvedSignatures>
标签内并重启 Jenkins。它会产生与通过 Jenkins 批准此签名相同的效果 UI.