You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Groovy脚本中从JSON响应提取指定值并作为变量使用

从Groovy API响应中提取NextVersionIncrement值

嘿,这事儿超简单!你的Groovy脚本已经成功拿到了解析后的API响应(看起来是个Groovy Map对象,对应你给出的键值对格式),要提取NextVersionIncrement并存为变量使用,只需要调整一点点代码就行:

首先,把API请求的返回结果存到一个变量里,然后直接通过键名获取对应值。修改后的脚本示例如下:

// 发起API请求并捕获响应结果
def releaseTemplate = newRelease.request(GET) { req ->
    requestContentType = ContentType.JSON
    headers.'X-Octopus-ApiKey' = 'API-xxx'
    response.success = { resp, json -> 
        return json  // 成功时返回解析后的Map对象
    }
    response.failure = { resp -> 
        return "Request failed with status ${resp.status}" 
    }
}

// 处理结果并提取目标值
if (releaseTemplate instanceof Map) {
    // 提取NextVersionIncrement,Groovy支持点语法或方括号语法
    def nextVersionIncrement = releaseTemplate.NextVersionIncrement
    // 也可以写成 releaseTemplate['NextVersionIncrement']

    // 现在你可以把这个变量用在任何需要的地方啦
    println "获取到的下一个版本增量:${nextVersionIncrement}"
} else {
    // 请求失败时打印错误信息
    println "API请求出错:${releaseTemplate}"
}

关键说明:

  • 你的response.success回调已经返回了解析后的JSON对象(Groovy自动转成了Map),所以直接把这个返回值存到变量里就行
  • 用releaseTemplate.NextVersionIncrement(或方括号写法)就能直接拿到对应的值,Groovy对Map的访问很灵活
  • 加个类型判断是为了区分成功和失败的情况(失败时返回的是错误字符串),避免脚本报错

内容的提问来源于stack exchange,提问作者Carmine Fabrizio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:47:50