我已经在我的deploy_job中提供了一个groovy脚本来获得我的build_job的成功构建。当我运行groovy脚本时,它给出了一个错误“不允许脚本使用staticMethod jenkins.model.Jenkins getInstance”
我只能通过使用groovy沙箱来运行脚本。我没有管理员权限来批准脚本或在进行任何更改后重新启动jenkins。我尝试使用try和catch块来捕获异常,但它不起作用。有没有办法将实例方法列入白名单?
def builds = []
def job = jenkins.model.Jenkins.instance.getItem("build_job")
job.builds.each {
def build = it
if (it.getResult().toString().equals("SUCCESS")) {
it.badgeActions.each {
builds.add(build.displayName[1..-1])
}
}
}
builds.unique();预期:要将jenkins.model.Jenkins.instance.getItem列入白名单
实际:无法执行不允许在org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectStaticMethod(StaticWhitelist.java:276)上使用staticMethod jenkins.model.Jenkins getInstance的脚本org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:脚本
发布于 2021-02-11 06:47:29
在manage Jenkins中,转到In-Process Script Approval。将会有一个等待批准的脚本和签名列表。批准您尝试使用的那些。对于每个步骤,您可能需要多次执行此操作。您可以对getInstance执行此操作,但运行失败,然后对getItem再次执行此操作,直到它清除为止。
https://stackoverflow.com/questions/56652861
复制相似问题