Jenkins獲取發版人的人名
阿新 • • 發佈:2021-12-13
目錄
一.簡介
Jenkins在構建記錄中,是可以看到誰點的構建的,但pipeline中的全域性變數,預設是不支援獲取當前構建任務的構建人的,要想獲取構建人的資訊,只能通過外掛來幫助我們獲取。
主要用於構建通知,例如發版後將結果通過郵件、釘釘等方式發到群裡,這樣要附加一些資訊,可以將構建人加入進去。
外掛:build-user-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_GROUPS | Jenkins user groups |
BUILD_USER_EMAIL | Email address |
二.自由風格使用
安裝外掛後,在Maven專案或者自由風格中,需要勾選Set jenkins user build variables才可以在後續使用
三.pipeline使用
指令碼式
node { stage { wrap([$class: 'BuildUser']) { script { BUILD_USER = "${env.BUILD_USER}" } } } }
宣告式
1.在步驟呼叫
pipeline {
agent any
stages {
stage('test') {
steps {
wrap([$class: 'BuildUser']) {
sh "ehcho $BUILD_USER"
}
}
}
}
}
2.在最前面定義,像post等操作,也是用wrap裹起來,裡面寫命令
本文版權歸作者所有,歡迎轉載,請務必新增原文連結。pipeline { agent any post { success { wrap([$class: 'BuildUser']) { sh "/jen_script/dingding.py ${JOB_NAME} ${release_branch} 0 ${BUILD_NUMBER} ${BUILD_USER}" } } failure { wrap([$class: 'BuildUser']) { sh "/jen_script/dingding.py ${JOB_NAME} ${release_branch} 1 ${BUILD_NUMBER} ${BUILD_USER}" } } } stages { stage('test') { steps { echo "xxx" } } } } }