使用Rundeck webhook插件获取POST请求数据返回空值问题求助
问题原因&解决方案
- curl请求缺少必要的头声明与URL格式错误
你的请求没有指定JSON内容类型,Rundeck无法自动解析请求体为结构化数据,同时URL末尾的#是浏览器锚点标识,curl发送请求时不会携带该部分内容,会导致Rundeck匹配不到对应webhook。
修改后的curl命令如下:
如果webhook实际路径不需要curl -X POST -H "Content-Type: application/json" -d '{"name":"John", "age":30, "car":null}' https://rundeck_server/api/12/webhook/QSxTDYd08dcYxKh1R5YJNOPQvmSJH2Z8%23Netbox_Job#Netbox_Job后缀,直接删掉该部分即可。 - webhook变量配置格式错误
你在webhook选项配置中加了多余的前导-,会导致Rundeck把-whkpayload整体识别为参数名,和你作业中定义的whkpayload选项不匹配,变量自然无法传递。修改配置为:whkpayload ${raw} name ${data.name} - 作业未预定义对应选项
检查绑定webhook的作业,确认已经提前创建了whkpayload和name两个文本类型的选项,如果作业没有预定义这两个选项,webhook传递的变量会被直接丢弃。 - 调试排查方法
开启Rundeck webhook的日志记录功能,在系统日志中查看webhook接收到的原始请求内容和变量解析结果,可以快速定位问题。
内容的提问来源于stack exchange,提问作者Med
相关产品推荐
相关产品推荐

