Jenkins 工作流 java.io.NotSerializableException:groovy.json.internal.LazyMap 处于关闭状态
Jenkins Workflow java.io.NotSerializableException: groovy.json.internal.LazyMap in Closure
我在导致错误的工作流脚本中有以下函数 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
,但这只会导致整个方法被跳过。
任何人都可以帮助我理解为什么会产生错误以及如何解决它吗?
谢谢,问题出在 JsonSlurper
切换到 JsonSlurperClassic
做了这里提到的技巧
我在导致错误的工作流脚本中有以下函数 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
,但这只会导致整个方法被跳过。
任何人都可以帮助我理解为什么会产生错误以及如何解决它吗?
谢谢,问题出在 JsonSlurper
切换到 JsonSlurperClassic
做了这里提到的技巧