Jenkins Job DSL在1.6中引入了脚本安全性,这给某些构建带来了以下错误:
ERROR: Build step failed with exception
org.jenkinsci.plugins.scriptsecurity.scripts.UnapprovedUsageException: script not yet approved for use
我们完全使用plugins.txt和一组Groovy脚本通过配置运行Jenkins母版,以配置Jenkins,并且不允许通过UI进行任何配置,因此我们也禁用了以管理员身份登录的功能。 / p>
我们如何通过Jenkins groovy配置以编程方式预先批准脚本?
答案 0 :(得分:5)
下面是用于批准对詹金斯采用Groovy的两种方法。
def scriptApproval = org.jenkinsci.plugins.scriptsecurity.scripts.ScriptApproval.get()
String[] signs = [
"method org.jenkinsci.plugins.workflow.steps.FlowInterruptedException getCauses",
"method org.jenkinsci.plugins.workflow.support.steps.input.Rejection getUser"
]
for( String sign : signs ) {
scriptApproval.approveSignature(sign)
}
scriptApproval.save()