“脚本不允许使用 staticMethod...”,但没有未决的签名批准

Por*_*Man 6 jenkins-pipeline

在我的管道脚本中,我收到错误org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods drop java.util.List int

到现在为止还挺好。但是当我转到 ScriptApproval 页面时,没有待处理的签名批准。

奇怪的是,在不同的 Jenkins 系统上,当我运行相同的命令时,它会将它添加到待处理的脚本批准中,并且我能够很好地使用它。

有没有办法

  1. 强制它添加该功能作为待定的脚本批准?
  2. 手动将其添加到批准的脚本列表中?

小智 4

我也遇到过类似的问题,Jenkins没有向脚本审批页面添加任何静态方法。

认为这是 Jenkins 和安全插件的某种错误,因为我以前从未遇到过这种行为。作为解决方法,我必须手动执行“脚本控制台”页面中的下一个脚本https://JENKINS_URL/script

def scriptApproval = org.jenkinsci.plugins.scriptsecurity.scripts.ScriptApproval.get()
scriptApproval.approveSignature("staticMethod jenkins.model.Jenkins getInstance")
scriptApproval.save()
Run Code Online (Sandbox Code Playgroud)