json - 使用 Rundeck webhook 插件从发布请求中获取数据
问题描述
我正在尝试使用 rundeck webhook 插件获取数据,为此我使用 curl 命令:
curl -X POST -d '{"name":"John", "age":30, "car":null}' https://rundeck_server/api/12/webhook/QSxTDYd08dcYxKh1R5YJNOPQvmSJH2Z8#Netbox_Job
在 rundeck webhook 插件选项中,我添加了这 2 个变量,“whkpayload”获取所有 json 数据,“name”仅获取名称(在此示例中必须返回 John):
-whkpayload ${raw} -name ${data.name}
最后我用这些线向他们展示:
echo @option.whkpayload@
echo @option.name@
我得到一个空的结果,我不知道为什么。任何人都可以帮助我吗?
解决方案
在此之后,您需要使用whkpayload
作业中调用的选项,并将其设置为${raw}
webhook 配置。
我做了一个例子:
- YAML 格式的作业定义(带有
whkpayload
选项):
- defaultTab: nodes
description: ''
executionEnabled: true
id: 0fcfca07-02f6-4583-a3eb-0002276bdf2d
loglevel: INFO
name: HelloWorld
nodeFilterEditable: false
options:
- name: age
- name: car
- name: name
- name: whkpayload
plugins:
ExecutionLifecycle: null
scheduleEnabled: true
sequence:
commands:
- description: command step
exec: echo "name ${option.name} - age ${option.age} - car ${option.car} - payload
${option.whkpayload}"
- description: inline-script step
fileExtension: .sh
interpreterArgsQuoted: false
script: echo "name @option.name@ - age @option.age@ - car @option.car@ - payload
@option.whkpayload@"
scriptInterpreter: /bin/bash
keepgoing: false
strategy: node-first
uuid: 0fcfca07-02f6-4583-a3eb-0002276bdf2d
webhook配置。
从 cURL 调用的 webhook:
curl -H "Content-Type: application/json" -X POST -d '{"field1":"John", "field2":30, "field3":"chevy"}' http://localhost:4440/api/40/webhook/0vBZjWWrnXWvqENEdxkn0JRvjn5R63J0#MyWebhook
- 结果。_
推荐阅读
- sql-server - 从命令行使用代理帐户执行 SSIS 包
- c++ - 从 double* 转换为 int 会失去精度
- c++ - 如何在构造函数中使用 std::optional ?
- javascript - 我可以在不使用 FileReader 文件选择选项的情况下读取文本文件吗
- java - 平面文件解析:当某些字段包含分隔符时
- elasticsearch - 使用 ONGR ES-Bundle 运行“composer update”时出错
- css - 如何停止:将标签文本向右推的元素之前
- boto3 - 通过boto3获取账户名?
- java - 使用 xslt 删除自定义 xml 命名空间
- c++ - 在运行时开始填充两个大向量