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

如何向Azure Runbook API传递动态参数?Groovy请求体构建问题求解

问题根因

你遇到的报错核心原因是对Groovy中Map类型的使用逻辑有误:

  • 你代码中parameters字段要求传入的是Groovy Map类型的键值对结构,而你自行拼接的$paramList是普通字符串,HTTP请求构造框架不会自动将字符串解析为键值对Map,因此格式不符合API要求。
  • 你写的parameters:[$paramList]相当于给parameters赋值了一个仅包含单个字符串元素的列表,和要求的键值对结构完全不匹配,自然无法正常运行。

正确实现方式

不要拼接参数字符串,直接构建动态Map对象即可:

  1. 先根据你的业务场景动态生成参数Map:
// 初始化空Map
def paramMap = [:]
// 动态添加参数,可根据实际场景判断是否添加对应参数
paramMap.put('Vm', Env)
paramMap.put('Path', absolute)
paramMap.put('Target', test01)
// 示例:条件判断加参数
if (需要传入额外参数的条件) {
    paramMap.put('ExtraParam', extraValue)
}
  1. 直接把Map赋值给parameters字段即可:
http.request(PUT) {
    requestContentType = ContentType.JSON
    headers.'Authorization' = "Bearer " + AuthToken 
    body = ['properties': [
        'runbook': ['name': Runbook],
        'parameters': paramMap, 
        'runOn': 'devops'
    ]]
}

内容的提问来源于stack exchange,提问作者serge calderara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:36:05