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

如何用Bitbucket Webhooks触发无关联仓库的Jenkins流水线任务?

解决方案:无代码关联的Jenkins脚本式流水线对接Bitbucket PR Webhook

核心思路

Bitbucket官方集成插件通常要求Jenkins任务关联代码仓库,这里用Generic Webhook Trigger插件绕开这个限制,通过接收Bitbucket的Webhook请求直接触发无代码关联的脚本式流水线。


步骤1:安装必要插件

在Jenkins插件管理中安装Generic Webhook Trigger插件,该插件支持接收任意HTTP请求并触发任务,无需任务绑定代码仓库。

步骤2:配置Jenkins流水线任务的触发规则

  1. 打开你的脚本式流水线任务,进入配置页面。
  2. 找到构建触发器区域,勾选Generic Webhook Trigger。
  3. 设置Token:输入一个唯一标识(如bitbucket-xyz-pr-trigger),后续Bitbucket Webhook需要使用此token。
  4. (可选)提取Webhook参数(如需在流水线中使用PR信息):
    • 点击添加变量,设置:
      • Key:pr_id,Value:$.pullrequest.id(通过JSONPath匹配Bitbucket Webhook payload中的PR编号)
      • Key:repo_slug,Value:$.repository.slug(匹配仓库名称)
  5. (可选)添加触发条件:点击添加触发条件,选择Variable,设置repo_slug等于xyz,确保只有指定仓库的PR事件才触发任务。

步骤3:配置Bitbucket仓库的Webhook

  1. 打开Bitbucket中xyz仓库的设置→Webhooks→创建Webhook。
  2. 填写以下信息:
    • 名称:自定义(如Jenkins PR Trigger)
    • URL:http://<你的Jenkins域名或IP>/generic-webhook-trigger/invoke?token=bitbucket-xyz-pr-trigger(替换为实际Jenkins地址和步骤2中设置的token)
    • 触发事件:勾选Pull Request下的创建(如需监听PR更新也可勾选)
  3. 保存Webhook。

步骤4:脚本式流水线适配(可选)

如果需要在流水线中使用Webhook传递的PR参数,修改你的流水线脚本示例如下:

pipeline {
    agent any
    stages {
        stage('Stage 1'){
            echo "hello, world!"
            // 打印Webhook传递的参数
            echo "触发的PR编号: ${env.pr_id}"
            echo "触发的仓库: ${env.repo_slug}"
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:48:23