【发布时间】:2018-10-29 02:11:17
【问题描述】:
我希望能够在 Jenkins Groovy 脚本中添加回调作为参数。我认为关闭是我需要的,但我不知道该怎么做。这是我想要的输出:
enter
hello
exit
Jenkins 文件:
def rootDir = pwd()
def tools = load "${rootDir}\\patchBuildTools.groovy"
mainMethod(tools.testCl("hello"))
patchBuildTools.groovy
def mainMethod(Closure test) {
println "enter"
test()
println "exit"
}
def testCl(String message) {
println message
}
这给了我一个输出:
hello
enter
java.lang.NullPointerException: Cannot invoke method call() on null object
是否可以得到我想要的调用顺序?
更新 - 基于答案
Jenkins 文件:
def rootDir = pwd()
def tools = load "${rootDir}\\patchBuildTools.groovy"
mainMethod("enter", "exit")
{
this.testCl("hello")
}
patchBuildTools.groovy
def mainMethod(String msg1, String ms2, Closure test) {
println msg1
test()
println ms2
}
def testCl(String message) {
println message
}
【问题讨论】:
标签: jenkins groovy closures jenkins-pipeline