我需要在Jenkins Pipeline中解析一些JSON并在循环中调用一些常规方法,但是脚本总是在第一个函数调用后退出。如何解决这个问题?
import groovy.json.JsonSlurper
import com.cloudbees.groovy.cps.NonCPS
@NonCPS
def myMethod(String json) {
def jsonSlurper = new JsonSlurper()
def jsonObject = jsonSlurper(json)
jsonObject.each {
obj ->
switch(obj.name) {
case "foo":
doAThing(obj)
break
case "bar":
doAnotherThing(obj)
break
}
}
}
在上面的例子中,即使有像这样的json对象:
[{
"name": "foo"
}, {
"name": "bar"
}]
在第一次迭代后,管道总是退出。这可能是由于混合使用同步和异步函数所致。有没有办法解决这个问题?