Jenkins-获取build用户信息

需求: 代码发布后,将发布结果发送至相关运维同学邮箱,需要获取发布人的信息。jenkins默认是没有相关内置变量的。 需要通过插件的方式进行解决:

插件: user build vars plugin

部署后,可使用的变量:

Variable Description
BUILD_USER Full name (first name + last name)
BUILD_USER_FIRST_NAME First name
BUILD_USER_LAST_NAME Last name
BUILD_USER_ID Jenkins user ID
BUILD_USER_EMAIL Email address

在jenkins任务中使用构建变量:注意需要勾选 "Set jenkins user build variables."

缺陷:1). 当job是定时执行的时候,获取不到jenkins登录用户名。

2). 使用pipeline构建时, 不支持直接调用相关变量。

pipeline解决方式:

使用wrap对相关方法进行封装:

复制代码
post {
    success{
        wrap([$class: 'BuildUser']) {
            emailext body:"${BUILD_USER} ${JOB_NAME} (${BUILD_NUMBER}) run success\n请及时前往${env.BUILD_URL}进行查看" , subject: "PineLine '${JOB_NAME}' (${BUILD_NUMBER}) result", to: 'xiaoxiang@mail.xxx-inc.com'
        }
    }        
}

验证。。。

相关推荐
Do_GH20 小时前
【Linux】07.Ubuntu开发环境部署
linux·运维·ubuntu
勤源科技20 小时前
全链路智能运维中的实时流处理架构与状态管理技术
运维·架构
tryCbest20 小时前
Linux使用Docker部署项目后期更新
linux·运维·docker
早睡冠军候选人1 天前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey1 天前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
li3714908901 天前
nginx报400bad request 请求头过大异常处理
java·运维·nginx
久曲健的测试窝1 天前
Jenkins Share Library教程 —— 开发入门
运维·servlet·jenkins
游戏开发爱好者81 天前
FTP 抓包分析实战,命令、被动主动模式要点、FTPS 与 SFTP 区别及真机取证流程
运维·服务器·网络·ios·小程序·uni-app·iphone
默 语1 天前
AI驱动软件测试全流程自动化:从理论到实践的深度探索
运维·人工智能·驱动开发·ai·自动化·ai技术·测试全流程
望获linux1 天前
【实时Linux实战系列】实时 Linux 的自动化基准测试框架
java·大数据·linux·运维·网络·elasticsearch·搜索引擎