簡體   English   中英

Jenkins Groovyshell 與構建步驟

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM