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

如何实现从多个BitBucket仓库通过Webhook触发同一Jenkins任务?

用Multiple SCMs Plugin实现多BitBucket仓库PR触发同一个Jenkins任务

我刚好帮团队搭建过类似的流程,之前也碰到过Bitbucket Pull Request Builder Plugin只能绑定单仓库的问题,用Multiple SCMs Plugin确实能解决这个需求,给你一步步梳理配置步骤:

1. 确保必备插件已安装

首先确认Jenkins上已经装了以下两个插件:

  • Bitbucket Pull Request Builder Plugin:负责处理BitBucket PR的触发逻辑
  • Multiple SCMs Plugin:支持在单个Jenkins任务中配置多个Git仓库

如果没装,去「Manage Jenkins」→「Manage Plugins」里搜索安装,重启Jenkins生效。

2. 配置Jenkins任务的多SCM源

打开你要配置的Jenkins任务,进入「Configure」页面:

  • 找到「Source Code Management」板块,选择Multiple SCMs
  • 点击「Add SCM」→ 选择「Git」,开始添加第一个BitBucket仓库:
    • 填入仓库的克隆URL(比如git@bitbucket.org:your-team/repo-1.git)
    • 配置访问仓库的凭证(SSH密钥或账号密码,确保能拉取代码)
    • 在「Branches to build」里填写${sha1}(这个变量会由PR触发插件自动传入,对应PR的提交哈希)
    • 其他选项按需配置(比如浅克隆、清理工作区等)
  • 重复以上步骤,添加所有需要触发该任务的BitBucket仓库

注意:每个仓库的分支配置都建议用${sha1},这样能精准拉取PR对应的提交版本,避免分支冲突。

3. 配置BitBucket PR触发规则

继续在任务的「Configure」页面往下走:

  • 找到「Build Triggers」板块,勾选Bitbucket pull request builder
  • 点击「Advanced」展开高级设置:
    • 「Repository owner」和「Repository name」留空(不要指定单个仓库,这样插件会匹配所有配置在Multiple SCMs里的仓库)
    • 勾选「Build every pull request automatically without asking」(按需选择,也可以设置手动触发)
    • 其他触发条件(比如仅当PR有特定标签、或通过CI检查)按需配置

另外,要确保Jenkins全局配置里的BitBucket账号有权限访问所有这些仓库:

  • 去「Manage Jenkins」→「Configure System」→「Bitbucket pull request builder」
  • 配置好BitBucket的账号令牌(Personal Access Token),确保该令牌能读取所有目标仓库的PR信息

4. 给每个BitBucket仓库配置Webhook

每个需要触发Jenkins任务的BitBucket仓库,都要单独配置Webhook:

  1. 打开BitBucket仓库的「Settings」→「Webhooks」→「Create webhook」
  2. 填入Webhook URL:http://your-jenkins-domain/bitbucket-hook/(确保Jenkins地址能被BitBucket访问到)
  3. 「Triggers」选择以下事件:
    • Pull request created
    • Pull request updated
    • Pull request approved(按需选择)
  4. 保存Webhook,测试一下是否能正常发送请求(BitBucket提供测试按钮)

5. 验证配置

提交一个PR到任意一个配置好的BitBucket仓库,检查Jenkins任务是否自动触发:

  • 如果没触发,先看BitBucket的Webhook日志(仓库Webhook页面里的「Recent deliveries」),看请求是否成功发送
  • 再看Jenkins的系统日志(「Manage Jenkins」→「System Log」),有没有关于PR触发的报错信息
  • 常见问题:凭证权限不足、Webhook URL不可达、分支变量${sha1}未正确设置

这样配置完成后,多个BitBucket仓库的PR就能触发同一个Jenkins任务了,我当时踩过的坑主要是漏加了某个仓库的Webhook,以及全局配置里的BitBucket令牌权限不够,你可以一步步排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:44:41