Bootstrap

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: '[email protected]'
        }
    }        
}

验证。。。

;