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.
Example - Parsing JSONUse the JavaScript function JSON.parse() to convert text into a JavaScript object: const obj = JSON.parse('{"name":"John", "age":30, "city":"New York"}'); Make sure the text is in JSON format, or else you will get a syntax error.
The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string. An optional reviver function can be provided to perform a transformation on the resulting object before it is returned.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With