如何通过Bitbucket Server Integration插件在Jenkins多分支流水线获取Event Key
在Jenkins里读取并打印Bitbucket Webhook的eventKey
直接用插件自带的环境变量(最简单)
Bitbucket Server Integration插件会自动把请求头里的X-Event-Key转成Jenkins的环境变量BITBUCKET_EVENT_KEY,直接在控制台步骤里打印就行:
echo "当前触发的事件键:${BITBUCKET_EVENT_KEY}"
从Webhook的JSON负载里提取(适合需要更多数据的场景)
如果要从Webhook的完整JSON payload里拿eventKey,先确保Jenkins节点装了jq工具,然后用插件提供的BITBUCKET_PAYLOAD变量解析:
echo "从负载解析的事件键:$(echo ${BITBUCKET_PAYLOAD} | jq -r '.eventKey')"
基于eventKey做分支逻辑(比如PR验证)
拿到值之后就能写条件判断,针对特定事件做操作,比如拉取请求的验证:
if [ "${BITBUCKET_EVENT_KEY}" = "pr:opened" ] || [ "${BITBUCKET_EVENT_KEY}" = "pr:updated" ]; then echo "启动拉取请求额外验证流程..." # 这里加你的验证代码,比如检查PR标题规范、提交信息格式等 else echo "当前事件不需要额外处理" fi
注意事项
- 要是用第二种方法,得保证Jenkins运行的节点上装了
bash和jq - 老版本的Bitbucket插件可能不会自动生成
BITBUCKET_EVENT_KEY,建议把插件更新到最新版
内容的提问来源于stack exchange,提问作者Rakesh Paul
相关产品推荐
相关产品推荐

