我有以下的測試Groovy腳本添加爲vars
到workflow-libs
:訪問該塊詹金斯管道腳本
#!/usr/bin/groovy
this.test = false
def setTest(boolean test) { this.test = test }
def getTest() { this.test }
def log(level, msg) {
echo "[${level}] ${msg}"
}
def call(msg) {
if (this.test) log('TEST', msg)
}
我把這個腳本workflow-libs/vars/test.groovy
下。
當我執行下面的管道:
node {
test 'foo'
}
的過程永遠無法完成,但如果我刪除if (this.test)
那麼正常完成,但我的結論是訪問this
對象的問題嗎?
任何人都面臨類似的行爲?
詹金斯是時間1.651.3的最新版本。
感謝@izzeki您的提示最終導致我挖掘更多的對象,並發現實際參數位於this.binding.variables這是一個Map對象ct如果有人有興趣或可以提供更好的解決方案,我會把這個發現作爲答案 – tbo
Sure @tbo。你可能會發現知道Binding不是可序列化的,但它有'Map getVariables()'方法。 – izzekil