我正在嘗試使用 rundeck webhook 插件獲取資料,為此我使用了 curl 命令:
curl -X POST -d '{"name":"John", "age":30, "car":null}' https://rundeck_server/api/12/webhook/QSxTDYd08dcYxKh1R5YJNOPQvmSJH2Z8#Netbox_Job
在 rundeck webhook 插件選項中,我添加了這兩個變數,'whkpayload' 用于獲取所有 json 資料,'name' 僅獲取名稱(在此示例中必須回傳 John):
-whkpayload ${raw} -name ${data.name}
最后我用這些臺詞向他們展示:
echo @option.whkpayload@
echo @option.name@
我得到一個空的結果,我不知道為什么。任何人都可以幫助我嗎?
uj5u.com熱心網友回復:
在此之后,您需要使用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
網路鉤子配置。
來自 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
- 的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/340310.html
上一篇:IOC和DI之刨根問底之第一節
