[英]Jenkins Groovyshell with build step
我想執行作為我制作的字符串編寫(和生成)的代碼。Jenkinsfile 文件:
pipeline {
stages {
stage('validation') {
steps{
script{
new GroovyShell().evaluate("""build (job:'myjob' , parameters:[string(name: 'FOO', value: "BAR")]""")
}
}
}
}
}
我收到錯誤:
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: Script1.string() is applicable for argument types: (java.util.LinkedHashMap) values: [[name:FOO, value:BAR]]
Possible solutions: toString(), toString(), print(java.lang.Object), print(java.io.PrintWriter), print(java.lang.Object), run()
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:71)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:80)
我不需要完全使用 GroovyShell,任何執行字符串的變體都適合我
您可以將腳本移動到如下所示的文件中,然后使用load
方法讀取並執行它。
測試.groovy
def call() {
echo "Running the Job"
build (job:'myjob' , parameters:[string(name: 'FOO', value: "BAR")])
}
return this;
管道
script{
def exec = load "PATH/TO/SCRIPT/test.groovy"
exec()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.