我有一个看起来像
的常见Jenkins工作流程def build() {
echo "build"
}
def test() {
echo "test"
}
def runAll() {
build()
test()
}
return this;
用户代码:
node {
def flow = load(...)
flow.runAll()
}
有没有办法覆盖流方法而不重新实现使用它的方法?像
这样的东西flow.metaClass.build = { -> echo "Custom build" }
答案 0 :(得分:0)
当您不使用load
步骤时,您可以通过定义步骤函数来替换自定义函数。 (原始步骤可以steps.build
等方式访问。)
我没有专门测试在load
ed脚本中定义的覆盖函数的情况,但是如果它还没有工作 - 并且我认为你发现它没有,因为你问这个问题,对吧? - 我怀疑你只需要这样定性:this.build()