如何以编程方式批准Jenkins System Groovy脚本

时间:2018-06-22 00:15:14

标签: jenkins groovy

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配置以编程方式预先批准脚本?

1 个答案:

答案 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()