22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法相关的知识,希望对你有一定的参考价值。
目录
前言
- 本篇学习对json读取和写入两个方法readJson和writeJson
readJson
参数
- file:读取 JSON 数据的文件的路径
text
:包含 JSON 格式数据的字符串
使用
- 新建test.json文件,内容如下
"name":"大海",
"age":28,
"city":"北京",
"professional": "测试工程师"
- 新建readJson.groovy文件,内容如下
// 入参是文件路径
def read_json_file(file_path)
def propMap = readJSON file: file_path
propMap.each
println(it.key + " = " + it.value)
// 入参是json格式的字符串
def read_json_file2(json_string)
def propMap = readJSON text: json_string
propMap.each
println(it.key + " = " + it.value)
// 要记得写,不写会报错
return this
- 新建Jenkinsfile文件,内容如下
println env.JOB_NAME
println env.BUILD_NUMBER
pipeline
agent any
stages
stage("init")
steps
script
println 'init'
// load 加载外部文件
model_test = load env.WORKSPACE + "/module/readJson.groovy"
println model_test
stage("Parse json")
steps
script
// 文件路径
json_file = env.WORKSPACE + "/test_data/test.json"
println json_file
model_test.read_json_file(json_file)
println "================================"
// json格式字符串 中文会乱码,还是单独写文件中使用较好
json_string = '"name":"大海","age":28,"city":"北京","professional":"测试工程师"'
model_test.read_json_file2(json_string)
- 文件结构如下,提交到gitlab后,新建一个job(看前面文章,这里略)测试下吧
- 测试结果,成功输出josn内容
writeJson
参数
json:
要写入的对象。可以是JSON实例或 Map/Listfile
:工作区中要写入的文件的可选路径pretty
:使用添加到每个缩进级别的空格数来美化输出returnText
:将 JSON 作为字符串返回,而不是将其写入文件。默认为false
使用
- 在上面的src路径下,新建Jenkinsfile2,内容如下
println env.JOB_NAME
println env.BUILD_NUMBER
pipeline
agent any
stages
stage("write json")
steps
script
json_file = env.WORKSPACE + "/test_data/test_json.json"
to_json_file = env.WORKSPACE + "/test_data/new_json.json"
// 调用方法
write_json_to_file(json_file,to_json_file)
// 写入文件
def write_json_to_file(input_json, to_file_path)
def input = ''
if(input_json.toString().endsWith(".json"))
println input_json
// 读取json文件
input = readJSON file : input_json
// 写入文件
writeJSON file: to_file_path, json: input,pretty: 4
以上是关于22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法的主要内容,如果未能解决你的问题,请参考以下文章