gpt4 book ai didi

json - 如何将选项传递给Rundeck作业Webhook URL

转载 作者:行者123 更新时间:2023-12-03 00:57:46 24 4
gpt4 key购买 nike

我已经在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?

最佳答案

documentation之后,您需要以this的方式定义选项,然后调用传递JSON数据的方式,我做了一个示例,但使用了cURL:

curl -H "Content-Type: application/json" -X POST -d '{"field1":"hello world"}' http://yourhost:4440/api/34/webhook/3moY0Ru1zxl5gM0tpVlecJ5BN1LPyhsx#New_Hook

这是此“作业定义”示例的:

<joblist>
<job>
<context>
<options preserveOrder='true'>
<option name='opt1' />
</options>
</context>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>e97efb53-99a6-4e5a-80b7-a1b055866f43</id>
<loglevel>INFO</loglevel>
<name>HelloWorld</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>echo ${option.opt1}</exec>
</command>
</sequence>
<uuid>e97efb53-99a6-4e5a-80b7-a1b055866f43</uuid>
</job>
</joblist>

关于json - 如何将选项传递给Rundeck作业Webhook URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60400065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com