我正在使用Jenkins共享库中的以下函数。
/* The below function will list the groups */
def list_groups(server_url,each_group_name,authentication){
def groups_url = server_url + "/api/v1/groups"
def response = httpRequest consoleLogResponseBody: true,
contentType: 'APPLICATION_JSON',
customHeaders: [[maskValue: false, name: 'Authorization', value: authentication]],
httpMode: 'GET', ignoreSslErrors: true, responseHandle: 'NONE', url: groups_url,
validResponseCodes: '100:599'
if(response.status == 404){
throw new Exception("Server url not found! Please provide correct server URL.")
}
else{
if(response.status == 400 || response.status == 403){
throw new Exception("Invalid Access token or Access token expired!")
}
}
def result = readJSON text: """${response.content}"""
}
=====================================================================
我得到了下面的响应,
响应代码:HTTP/1.1 200确定
回应:
[{"id":2,"name":"Default User"},{"id":3,"name":"fos"},{"id":4,"name": "kXR"},{"id":5,"name": "Sgh"},{"id":6,"name":"ksn"},{"id":7,"name":"ALb"}]
成功:状态代码200在可接受的范围内:第一百章:五百九十九
要求:
我需要从响应中获取JSON主体(id & name)---〉{“id”:7,“name”:“ALb”}的最后一个输出,并使用groovy将其打印出来并存储在一个变量中。
1条答案
按热度按时间z8dt9xmd1#
首先,需要将响应字符串解析为JSON对象,为此,可以使用Jenkins本地方法
readJSON
或类似JsonSlurperClassic
的方法。然后,可以使用JSON路径表达式来提取值。请看下面的示例。