groovy中Json解析面临的困难
我有一个json,它的响应是groovy中Json解析面临的困难,json,jenkins,groovy,jsonparser,Json,Jenkins,Groovy,Jsonparser,我有一个json,它的响应是{“canMerge”:false,“conflicted”:true,“output”:“conflicted”,“vetoes”:[{“summaryMessage”:“Requires approvals”,“detailedMessage”:“在合并这个请求之前,您还需要两个批准。”}] 我想根据“结果”筛选出数据:“冲突的”为此,我尝试了以下方法- def mergeResponse = readJSON file:mergeFileName for(mer
{“canMerge”:false,“conflicted”:true,“output”:“conflicted”,“vetoes”:[{“summaryMessage”:“Requires approvals”,“detailedMessage”:“在合并这个请求之前,您还需要两个批准。”}]
我想根据“结果”筛选出数据:“冲突的”
为此,我尝试了以下方法-
def mergeResponse = readJSON file:mergeFileName
for(mergenew in mergeResponse.values)
{
if(mergenew.outcome == "CONFLICTED") {
echo "pull request can not merged"
}
当我在上面尝试时,它跳过了直接循环,尽管条件匹配正确,但我不明白为什么?
下面也尝试了
import groovy.json.JsonSlurper
def slurper = new JsonSlurper().parseText(mergenew)
assert slurper.outcome == "CONFLICTED"
String id = mergenew.getString("id");
echo "pull request can not merged"
获取上述内容的错误是
我还在jenkins脚本中批准了JsonSlurper.parseText的脚本
请帮帮我。非常感谢您的帮助。尝试以下方法:(将文件名var设置为任何文件)
您可以使用读取json文件。这对我很有用:
def data = readJSON file: "${WORKSPACE}/data.json" // here just read the json file
def outcome = "${data.outcome}"
if(outcome == "CONFLICTED") {
echo "pull request can not merged"
}
请添加。我尝试了此操作,但出现了错误-
发生了异常:在com.cloudbees.groovy.cps.impl.BlockScopeEnv.locals字段中的对象com.cloudbees.groovy.cps.impl。LoopBlockScopeEnv@2c73fea7在对象com.cloudbees.groovy.cps.impl中的com.cloudbees.groovy.cps.impl.proxyev.parent字段中。BlockScopeEnv@6e7ce95d野外com.cloudbees.groovy.cps.impl.proxyev.parent
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
data = jsonSlurper.parse(new File(mergeFileName))
assert data.outcome == "CONFLICTED"
println("pull request can not merged")
def data = readJSON file: "${WORKSPACE}/data.json" // here just read the json file
def outcome = "${data.outcome}"
if(outcome == "CONFLICTED") {
echo "pull request can not merged"
}