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

GitHub Webhook仓库URL变更致Jenkins构建失败,如何修改相关配置?

GitHub Webhook URL变更导致Jenkins构建触发失败的解决方案

问题根源

GitHub在2025年4月7日调整了推送webhook中仓库对象的url字段值:原格式为https://github.com/[our-company]/[our-repo],现改为API端点格式https://api.github.com/repos/[our-company]/[our-repo]。Jenkins的GitHub Webhook插件(DefaultPushGHEventSubscriber组件)无法识别新格式,抛出Malformed repo url警告,导致构建触发流程在初始回调阶段就失败。

解决步骤

1. 更新GitHub插件(推荐方案)

这是官方修复的最优解:

  • 进入Jenkins管理界面 → 插件管理 → 已安装插件,搜索GitHub或GitHub Integration插件,查看当前版本。
  • 若版本早于2025年4月7日发布的修复版本,点击更新,完成后重启Jenkins。更新后的插件会自动适配新的url字段格式,或切换使用payload中保留原格式的html_url字段。

2. 临时绕过方案(无法立即更新插件时)

通过Jenkins脚本控制台临时修改解析逻辑:

  • 进入Jenkins → 管理Jenkins → 脚本控制台。
  • 执行以下Groovy脚本,强制插件使用html_url字段获取仓库地址:
import org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
import org.kohsuke.github.GHRepository

DefaultPushGHEventSubscriber.metaClass.getRepoUrl = { GHRepository repo ->
    return repo.getHtmlUrl().toString()
}

println "临时替换仓库URL解析逻辑完成,重启Jenkins后失效"

关于脚本位置的说明

你找不到相关脚本是因为该逻辑封装在Jenkins的github-plugin插件的Java类(DefaultPushGHEventSubscriber)中,并非独立的服务器脚本文件。因此无法直接修改源码脚本,只能通过更新插件或临时脚本覆盖的方式解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:03:18