我想使用能够运行groovy文件中存储的管道的DSL脚本创建Jobs。我有一个种子工作可以运行此测试DSL脚本:
pipelineJob('test') {
scm {
git("git://gitserver.com/bitbucket/test-automation")
}
definition {
cps {
script(''' library identifier: "InstallerPipeline@${branchToUse}", retriever: modernSCM([$class: 'GitSCMSource', credentialsId: '', id: '65ameo11-d41d-7634-8743-ab4a734e036', remote: 'ssh://git@git://gitserver.com/bitbucket/test-automation.git'])
print "Running pipeline ${pipelineChoice}..."
"${pipelineChoice}"() ''')
sandbox()
}
}
}
代码可以正确创建作业,但是出于安全原因,我无法运行作业。 我收到如下错误:
不允许脚本使用staticMethod。...
我必须手动取消从管道脚本发出的每个调用才能运行。
我已经禁用了Job DSL脚本的脚本安全性。
如果我删除了sandbox()
行,但是整个脚本无法运行。
创建这样的工作的正确方法是什么?或如何解决这个问题?