如何在Jenkins中获取BitBucket Server拉取请求发起者邮箱
解决方案
1. 获取PR发起者邮箱(创建/更新PR场景)
Bitbucket Push and Pull Request插件会自动向Jenkins构建注入专属环境变量,直接使用BITBUCKET_PR_AUTHOR_EMAIL即可拿到PR发起者的邮箱地址。直接修改你的流水线代码:
post { always { emailext body: 'Test Message', subject: 'Test Subject', to: "${BITBUCKET_PR_AUTHOR_EMAIL}" } }
2. PR合并时同时通知发起者和合并者
当PR被合并触发构建时,插件会额外注入合并者的邮箱变量BITBUCKET_PR_MERGER_EMAIL。你可以通过判断构建触发动作,拼接收件人列表:
pipeline { agent any environment { PR_RECIPIENTS = "" } stages { // 你的流水线执行阶段 } post { always { script { // 判断是否为PR合并触发的构建 if (env.BITBUCKET_PR_ACTION == 'MERGED') { PR_RECIPIENTS = "${BITBUCKET_PR_AUTHOR_EMAIL}, ${BITBUCKET_PR_MERGER_EMAIL}" } else { // 非合并场景仅通知发起者 PR_RECIPIENTS = "${BITBUCKET_PR_AUTHOR_EMAIL}" } } emailext body: 'Test Message', subject: 'Test Subject', to: "${PR_RECIPIENTS}" } } }
3. 关键注意点
- 确保Bitbucket Push and Pull Request插件配置正确,Webhook能正常触发Jenkins构建
- 确认Bitbucket平台上的用户已填写有效的邮箱地址,且Jenkins能正常获取到这些用户信息
- 若变量未生效,可在流水线中添加
echo "${BITBUCKET_PR_AUTHOR_EMAIL}"调试变量是否存在
内容的提问来源于stack exchange,提问作者airdata
相关产品推荐
相关产品推荐

