如何将参数发送到 Azure Runbook api
How to send parameters to Azure runbook api
我们正在使用 Azure 自动化和来自 Scriptrunner 的 groovy 脚本来根据不同的 Runbook 创建不同的作业
为此,我们使用以下 API 调用示例[=14=]
http.request(PUT) {
requestContentType = ContentType.JSON
headers.'Authorization' = "Bearer " + AuthToken
body = ['properties': ['runbook': ['name': Runbook],'parameters':['Vm': Env], 'runOn': 'devops']]
当我们需要对一个名为 Vm 的单个参数进行硬编码时,我们在此处格式化正文的方式工作正常,该参数是从 Env 参数字符串设置的
我们实际遇到的问题是正文的这个 parameters 部分可以有超过 1 个单个参数和不同的参数名称。
例如,根据不同的用例,以下正文也是可能的:
body = ['properties': ['runbook': ['name': Runbook],'parameters':[**'Vm': Env, 'Path': absolute, 'Target':test01**], 'runOn': 'devops']]
我想做的是构建参数部分有一个变量,然后我可以将其作为正文的一部分放置,如下所示
body = ['properties': ['runbook': ['name': Runbook],'parameters':[$paramList], 'runOn': 'devops']]
$paramList 是一个字符串,其中包含“'Vm': Env, 'Path': absolute, 'Target':test01”
由于某种原因它不起作用,我在构建该字符串并注入正文值的参数部分时遗漏了什么?
感谢帮助
问候
@cfrick 解释的解决方案是使用 Map 对象,如下所示。
我需要将我的动态参数定义为:
Map myParams=['Vm1': Env1,'Vm2': Env2]
然后将 Map 对象作为全局主体的一部分注入:
body = ['properties': ['runbook': ['name': Runbook],'parameters':myParams, 'runOn': 'devops']]
我们正在使用 Azure 自动化和来自 Scriptrunner 的 groovy 脚本来根据不同的 Runbook 创建不同的作业
为此,我们使用以下 API 调用示例[=14=]
http.request(PUT) {
requestContentType = ContentType.JSON
headers.'Authorization' = "Bearer " + AuthToken
body = ['properties': ['runbook': ['name': Runbook],'parameters':['Vm': Env], 'runOn': 'devops']]
当我们需要对一个名为 Vm 的单个参数进行硬编码时,我们在此处格式化正文的方式工作正常,该参数是从 Env 参数字符串设置的
我们实际遇到的问题是正文的这个 parameters 部分可以有超过 1 个单个参数和不同的参数名称。
例如,根据不同的用例,以下正文也是可能的:
body = ['properties': ['runbook': ['name': Runbook],'parameters':[**'Vm': Env, 'Path': absolute, 'Target':test01**], 'runOn': 'devops']]
我想做的是构建参数部分有一个变量,然后我可以将其作为正文的一部分放置,如下所示
body = ['properties': ['runbook': ['name': Runbook],'parameters':[$paramList], 'runOn': 'devops']]
$paramList 是一个字符串,其中包含“'Vm': Env, 'Path': absolute, 'Target':test01”
由于某种原因它不起作用,我在构建该字符串并注入正文值的参数部分时遗漏了什么?
感谢帮助 问候
@cfrick 解释的解决方案是使用 Map 对象,如下所示。 我需要将我的动态参数定义为:
Map myParams=['Vm1': Env1,'Vm2': Env2]
然后将 Map 对象作为全局主体的一部分注入:
body = ['properties': ['runbook': ['name': Runbook],'parameters':myParams, 'runOn': 'devops']]