如何修复-Jenkins生成后操作Groovy脚本无法评估

时间:2019-05-20 14:52:25

标签: jenkins groovy post-build

我是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"
                    }
                }     
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我认为您的问题来自于您无法在Groovy Post Build Action中使用stage方法的事实。此方法仅在管道脚本中可用。