如何将选项传递到Rundeck作业Webhook URL

问题描述 投票:0回答:1

我已经在Rundeck定义了一个Webhook来运行特定作业。此作业定义了3个选项:$ {option.VMName},$ {option.CPU}和$ {option.Memory}。作业本身被定义为本地powershell脚本,并执行为:powershell $ {scriptfile} $ {option.VMName} $ {option.CPU} $ {option.Memory}。这已经过测试并且可以正常工作。

我现在想调用webhook POST URL,以便在定义了这些选项的情况下(通过Web仪表板,使用PowerShell)远程触发作业。我尝试将选项添加到URL的末尾,但未成功:

http://mywebhookuri#myjobname?opt.VMName=$VMName&opt.CPU=$CPU&opt.Memory=$Memory
http://mywebhookuri#myjobname?VMName=$VMName&CPU=$CPU&Memory=$Memory

下面的PowerShell代码用于调用Webhook:

$WebHookURI = "http://mywebhookuri#myjobname"
$header = @{}
$header.add("Content-Type","text/plain")
$body = @{} | ConvertTo-Json
$result = Invoke-RestMethod -Method Post -Uri $WebHookURI -Body $body -Headers $header

webhook插件和运行作业使用情况的文档指出,“该插件收到的JSON可用于提供选项,节点过滤器和运行方式用户”,但没有显示清楚两者之一的例子。

如何将这些选项成功传递到Webhook URL?

json powershell rest rundeck
1个回答
0
投票

documentation之后,您需要以this方式定义选项,然后通过以下方式调用以传递JSON数据:

curl -H "Content-Type: application/json" -X POST -d '{"field1":"hello world"}' http://yourhost:4440/api/34/webhook/3moY0Ru1zxl5gM0tpVlecJ5BN1LPyhsx#New_Hook
© www.soinside.com 2019 - 2024. All rights reserved.