我在工作流脚本中有以下功能,导致错误java.io.NotSerializableException: groovy.json.internal.LazyMap
def getParentTagForCurrentBranch(appWorkspace) {
def parentTag = null
dir("${appWorkspace.getPath()}") {
parentTag = bat(script:"git describe --abbrev=0 --tags", returnStdout:true)
}
return parentTag
}
我对错误的理解是我使用的是LazyMap?
我已经尝试了这个块的不同变体,但都导致错误,我也尝试使用@NonCPS
,但这只会导致整个方法被跳过。
任何人都可以帮助我理解为什么会产生错误以及如何解决它?
答案 0 :(得分:1)
感谢问题是JsonSlurper
切换到JsonSlurperClassic
做了这里提到的技巧Jenkins Pipeline NotSerializableException: groovy.json.internal.LazyMap