Jenkins 用Groovy中的jsonbuilder替换json中的版本

Jenkins 用Groovy中的jsonbuilder替换json中的版本,jenkins,groovy,jenkins-pipeline,jenkins-groovy,Jenkins,Groovy,Jenkins Pipeline,Jenkins Groovy,如何使用groovy脚本将json文件“deploy.json”中的版本从“1.0.2”替换为“2.6.5”,下面提供了文件内容 { "versions": [ { "version": "1.0.2", "conf": "replian" }, { "version": "1.0.2", "conf": "hp" },

如何使用groovy脚本将json文件“deploy.json”中的版本从“1.0.2”替换为“2.6.5”,下面提供了文件内容

{
  "versions": [
        {
            "version": "1.0.2",
            "conf": "replian"
        },
        {
            "version": "1.0.2",
            "conf": "hp"
        },
        {
            "version": "1.0.2",
            "conf": "shutoff"
        },
        {
            "version": "1.0.2",
            "conf": "spark"
        }
            ]
}
我尝试了下面的方法,但出现了一个错误

import groovy.json.JsonBuilder
import groovy.json.JsonSlurper

def content = """
{
  "versions": [
        {
            "version": "1.0.2",
            "conf": "replian"
        },
        {
            "version": "1.0.2",
            "conf": "hp"
        },
        {
            "version": "1.0.2",
            "conf": "shutoff"
        },
        {
            "version": "1.0.2",
            "conf": "spark"
        }
            ]
}"""

def slurped = new JsonSlurper().parseText(content)
def builder = new JsonBuilder(slurped) 
builder.content.versions.find{it.version}.version = "2.6.5"
println(builder.toPrettyString())
问题是: 当我使用上面的脚本时,只有第一个conf“replian”版本被替换

{
    "version": "2.6.5",
    "conf": "replian"
},
{
    "version": "1.0.2",
    "conf": "hp"
},
{
    "version": "1.0.2",
    "conf": "shutoff"
},
{
    "version": "1.0.2",
    "conf": "spark"
}
使用方法

输出

{
    "versions": [
        {
            "version": "2.6.5",
            "conf": "replian"
        },
        {
            "version": "2.6.5",
            "conf": "hp"
        },
        {
            "version": "2.6.5",
            "conf": "shutoff"
        },
        {
            "version": "2.6.5",
            "conf": "spark"
        }
    ]
}
{
    "versions": [
        {
            "version": "2.6.5",
            "conf": "replian"
        },
        {
            "version": "2.6.5",
            "conf": "hp"
        },
        {
            "version": "2.6.5",
            "conf": "shutoff"
        },
        {
            "version": "2.6.5",
            "conf": "spark"
        }
    ]
}