我是Groovy的新手,正试图作为Jenkins生成后操作调用Groovy脚本,但是每当我运行它时,我都会收到“错误:无法评估groovy脚本”:
groovy.lang.MissingMethodException:方法的无签名:Script1.stage()适用于参数类型:(org.codehaus.groovy.runtime.GStringImpl,Script1 $ _run_closure1)值:[branch_1,Script1 $ _run_closure1 @ 7e39737b ] 可能的解决方案:org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)上的wait(),any(),isCase(java.lang.Object)
这是我的代码:
def warList1= ["one.war", "two.war", "three.war" ]
def branches = [:]
for (int i = 0; i < 10 ; i++) {
int index=i, branch = i+1
stage ("branch_${branch}"){
branches["branch_${branch}"] = {
node {
sshagent(credentials : ['someuser-SSH']){
sh "scp ${WORKSPACE}/${warList1[index]} someuser@<somefqdn>:/tmp/pscp/dev"
}
}
}
}
}
}
答案 0 :(得分:1)
我认为您的问题来自于您无法在Groovy Post Build Action中使用stage
方法的事实。此方法仅在管道脚本中可用。