首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有构建步骤的Jenkins Groovyshell

具有构建步骤的Jenkins Groovyshell
EN

Stack Overflow用户
提问于 2022-09-18 22:27:04
回答 1查看 47关注 0票数 2

我希望执行以字符串形式编写(并生成)的代码,我创建了.Jenkinsfile文件:

代码语言:javascript
复制
    pipeline {
        stages {
            stage('validation') {
                steps{
                    script{
                        new GroovyShell().evaluate("""build (job:'myjob' , parameters:[string(name: 'FOO', value: "BAR")]""")
                    }
                }
            }
        }
    }

我收到错误:

代码语言:javascript
复制
    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,任何执行字符串的变体都适合我。

EN

回答 1

Stack Overflow用户

发布于 2022-09-19 00:44:59

您可以将脚本移动到下面的文件中,然后使用load方法read并执行它。

test.groovy

代码语言:javascript
复制
def call() {
    echo "Running the Job"
    build (job:'myjob' , parameters:[string(name: 'FOO', value: "BAR")])
}

return this;

管道

代码语言:javascript
复制
script{
    def exec = load "PATH/TO/SCRIPT/test.groovy"
    exec()
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73766787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档