在我的管道脚本中,我收到错误org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods drop java.util.List int
。
到目前为止,这么好。但是当我进入ScriptApproval页面时,没有待签名的批准。
奇怪的是,在不同的Jenkins系统上,当我运行相同的命令时,它将它添加到挂起的脚本批准中,我能够正常使用它。
有没有办法
答案 0 :(得分:1)
我也一样,您的管道是多分支的吗?
我的是,我通过以下操作解决了这个问题:
如果您还没有创建一个虚拟管道,则将方法调用“ org.codehaus.groovy.runtime.DefaultGroovyMethods drop”添加到另一条非多分支管道中。
运行管道,它现在将显示在脚本批准部分下。
显然,此错误仅影响多分支管道。
希望它仍然有用。
答案 1 :(得分:0)
我也遇到过类似的问题,詹金斯没有向脚本批准页面添加任何静态方法。
认为这是Jenkins和安全性插件的某种错误,因为我以前从未遇到过这种行为。解决方法是,我必须在https://JENKINS_URL/script
def scriptApproval = org.jenkinsci.plugins.scriptsecurity.scripts.ScriptApproval.get()
scriptApproval.approveSignature("staticMethod jenkins.model.Jenkins getInstance")
scriptApproval.save()