如何在jenkins的构建步骤中解析JSON响应

use*_*116 4 json httprequest jenkins jenkins-plugins

为了实现IBM产品的部署,我将使用其REST API接口.我计划使用jenkins来编排对REST API的调用.我仍然想知道这是不是一个好主意......?如果是这样,有没有办法简单地解析JSON响应,以便能够在步骤中创建一些条件?谢谢.

bad*_*err 6

您没有说明您使用的是什么,但是如果您有Groovy插件,则可以使用JsonSlurper

就像是

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
Run Code Online (Sandbox Code Playgroud)

不过,我不太确定如何使用它并在执行作业期间直接将其用于条件构建步骤.

另一种方法是使用Job DSL插件基于API响应生成一组具有适当步骤的作业.这类东西可用于读取SCM分支列表和为每个分支生成作业等内容.这可能是也可能不是你想要做的.


Som*_*era 1

JQ https://stedolan.github.io/jq/是 bash 的 JSON 解析器。我过去用过它,它很漂亮。

您可以将 JQ 下载到 Jenkins 服务器,然后在构建步骤 bash 脚本中调用 JQ