22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22-Jenkins-Pipeline-Pipeline Utility Steps插件之readJson和writeJson方法相关的知识,希望对你有一定的参考价值。

目录

前言

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/List 
  • file :工作区中要写入的文件的可选路径
  • 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方法的主要内容,如果未能解决你的问题,请参考以下文章