【发布时间】:2017-09-13 14:18:53
【问题描述】:
我们在 Jenkins 中有一个管道,我们希望在创建\更新特定存储库上的拉取请求时触发它。
repo 将有多个分支,例如 feature\bugfix 等,因此我们配置了 webhook 触发器,以便如果创建或更新拉取请求,webhook 会触发来自 Bitbucket 的管道,其中包括 Payload 数据又包括我们在管道中需要的源分支和目标分支
现在我们希望以某种方式将 Bitbucket 的 webhook 中包含的 JSON 有效负载数据解析到管道中,并获取管道中的源分支和目标分支。我的问题是如何完成这项工作?
提前致谢。
【问题讨论】:
-
我做过类似的事情。基本上你需要创建一个代理服务器,我使用了这个github.com/akhy/jenkins-bitbucket-webhook-proxy。我使用此代码启动了代理服务器,并更改了 bitbucket webhook 以向该代理服务器发送请求。然后我修改了
app.py以获取 Payload 并提取我想要的内容。最后我调用 Jenkins Job 并将 JSON 作为 Build 输入参数传递 -
没关系,但是有一行令人困惑的是 注意:目前代理只能处理存储库推送触发器。 如果我想对创建的拉取请求执行相同的操作\merge \更新?我应该在哪里更改代理?
标签: git jenkins bitbucket jenkins-pipeline