将jenkins管道中的参数传递给内部groovy脚本

时间:2016-11-29 02:26:05

标签: jenkins groovy

我们如何在Jenkins管道中传递Groovy脚本中的参数?

我写了xyz.groovy,它加载并执行正常,但我想传递参数而不是重复作业。我试过传递负载' ../ xyz.groovy' param1 param2但没有运气。

管道脚本:

node {
    load '../xyz.groovy'
}()

xyz.groovy

import hudson.model.*
import groovy.json.JsonBuilder
import groovy.json.JsonOutput
import java.net.URL

echo "\nParameters.."
echo param1
echo param2

2 个答案:

答案 0 :(得分:2)

你不能做类似的事情:How do you load a groovy file and execute it

您在使用参数调用的groovy中创建方法吗?

node {
    def script = load '../xyz.groovy'
    script.method(param1, param2)
}

答案 1 :(得分:0)

这可以通过使用${jenkins_param}语法

来完成

e.g

  • 在名为RELEASE_VERSION = "1.0"
  • 的Jenkins构建作业中定义字符串参数
  • 在groovy脚本中将其引用为${RELEASE_VERSION}

当脚本运行时,这将解析为“1.0”