You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Artifactory测试webhook报Sending a dummy Webhook failed如何排查

排查解决步骤

1. 首先修正Webhook地址格式错误

你当前填写的Webhook URL存在明显语法问题:https:///generic-webhook-trigger/invoke?token=123 协议头后连续三个斜杠,缺失了ngrok分配的公网域名段,请求根本无法路由到正确的服务地址,404是必然结果。

  • 打开ngrok运行终端,复制Forwarding行对应的公网HTTPS地址,新版ngrok免费版默认分配的域名格式类似https://xxxx-xx-xx-xxx.ngrok-free.app
  • 拼接完整Webhook地址,格式为https://<复制到的ngrok域名>/generic-webhook-trigger/invoke?token=123,注意域名和路径之间仅保留一个斜杠,不要多写分隔符。

2. 核对Jenkins侧插件配置

  • 进入目标流水线的配置页面,在「构建触发器」板块确认已勾选Generic Webhook Trigger选项
  • 核对插件配置中填写的Token值,和URL中token=后的参数值完全一致,注意区分大小写、不要带多余空格
  • 暂时关闭插件里配置的分支过滤、请求参数校验、触发条件规则,全量放开权限先测通链路,后续再加限制规则。

3. 解决ngrok的转发拦截问题

免费版ngrok默认存在两层拦截,很容易导致Webhook请求异常:

  • 确认ngrok转发端口和Jenkins监听端口一致,Jenkins默认监听8080端口,正确启动命令为ngrok http 8080,不要写错转发端口
  • 启动ngrok时添加参数跳过默认的浏览器警告拦截:ngrok http 8080 --response-header-add "ngrok-skip-browser-warning:true";也可以在Artifactory的Webhook自定义请求头配置中,添加键值对ngrok-skip-browser-warning: true,避免请求被ngrok拦截返回异常页面。

4. 本地自测链路连通性

改完配置不要直接用Artifactory的测试按钮,先本地验证全链路是否正常:

  • 直接在本地浏览器访问拼接完成的完整Webhook地址,如果返回包含"status":"ok"的JSON内容,说明ngrok到Jenkins的链路已经打通
  • 如果浏览器访问仍返回404,打开Jenkins系统日志(路径:Manage Jenkins > System Log > All Jenkins Logs),搜索是否存在/generic-webhook-trigger路径的访问记录,确认Jenkins侧是否收到请求
  • 如果Jenkins日志无相关请求记录,打开ngrok本地监控面板(默认地址为http://localhost:4040),查看所有经过ngrok的请求明细,确认请求路径是否正确、是否成功转发到本地Jenkins端口。

5. 核对Artifactory侧Webhook配置

  • 创建Webhook时先选择全量触发事件测试,不要只选单一事件避免触发条件不匹配
  • 暂时关闭Webhook的Secret签名校验选项,测通链路后再开启签名校验避免拦截
  • 如果测试仍失败,查看Artifactory系统日志中对应Webhook的请求记录,确认请求的返回状态码、响应内容,定位具体拦截点。

内容的提问来源于stack exchange,提问作者Hyperion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 23:18:49