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.
-
Could it be written as a python script or a shell script? Then, let `Jenkins` execute the script. – AechoLiu May 06 '16 at 01:44
3 Answers
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.

- 7,802
- 2
- 28
- 43
-
Hi,Thanks for your answer. I will test the plugin.I need to orchestrate API calls in order to deploy some artifacts. Each API call contributes to the delivery and I need to parse the JSON answer of each one before going to the next build step. – khaldoune May 11 '16 at 16:33
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

- 7,063
- 4
- 43
- 44
If you are using Pipeline Job, you will be happy with Pipeline Utility Steps Plugin
-
2
-
1Probably referring to the readJSON step: https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/docs/STEPS.md – seanf Nov 07 '17 at 06:12
-
See this question as well: https://stackoverflow.com/questions/55174084/parsing-json-on-jenkins-pipeline-groovy – Jaap Jan 24 '23 at 10:05