如何使用Groovy修改jenkins工作区上的JSON属性?

问题描述 投票:1回答:1

问题:我正在读取JSON文件中称为'version'的属性并成功打印。现在,我试图对其进行修改,并修改文件,即使用groovy增加版本号。

我的文件非常简单:

{
    "version":"1.0.0"
}

到目前为止,我尝试使用writeJSON函数来操纵版本号。

def pack = scope.readJSON file: "path/to/json/file.json"
String currVersion = "${pack.version}"
// The above code works...

// The code below does not
pack['version'] = "1.2.0"
scope.writeJSON file: "path/to/json/file.json", json: pack

期望通过的jenkins构建和要修改的json文件,但出现以下错误消息:

groovy.lang.MissingPropertyException:无此类属性:类的版本

json jenkins jenkins-plugins jenkins-groovy
1个回答
0
投票

您需要做的就是设置参数returnPojo:true。返回输出之前,它将输出转换成POJO类型(LinkedHashMap或ArrayList)。

默认情况下,参数设置为false并返回JSON对象(JSON-lib中的JSONObject或JSONArray)。

def pack = scope.readJSON file: "path/to/json/file.json", returnPojo: true
© www.soinside.com 2019 - 2024. All rights reserved.