How to parse JSON response in a built step in jenkins

こ雲淡風輕ζ 提交于 2019-12-06 04:14:43

问题


In order to industrialize the deployments of an IBM product, I'm going to use its REST API interfaces. I plan to use jenkins in order to orchestrate the calls to the REST APIs. I'm still wondering if it's a good idea...? If so, is there any way to simply parse the JSON responses in order to be able to make some conditions in the steps? Thanks.


回答1:


You didn't say what you're using the API for, but if you have the Groovy plugin, you could use JsonSlurper

Something like

import groovy.json.JsonSlurper
URL apiUrl = "https://some.website/api/someFunction".toURL()
List json = new JsonSlurper().parse(apiUrl.newReader())

// do stuff with the json object

I'm not quite sure how you would take this and use it directly for conditional build steps during the execution of the job, though.

An alternative approach is to generate a set of jobs with the appropriate steps based on the API response, using the Job DSL Plugin. This sort of thing can be used for stuff like reading a list of SCM branches and generating jobs for each of them. That may or may not be what you're trying to do.




回答2:


JQ https://stedolan.github.io/jq/ is a JSON parser for bash. I have used it in the past and its beautiful.

You can download JQ to your Jenkins server, and then call JQ in your build step bash scripts




回答3:


If you are using Pipeline Job, you will be happy with Pipeline Utility Steps Plugin



来源:https://stackoverflow.com/questions/37062872/how-to-parse-json-response-in-a-built-step-in-jenkins

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!