Jenkins获取发版人的人名

一.简介

jenkins在构建记录中,是可以看到谁点的构建的,但pipeline中的全局变量,默认是不支持获取当前构建任务的构建人的,要想获取构建人的信息,只能通过插件来帮助我们获取。
file

主要用于构建通知,例如发版后将结果通过邮件、钉钉等方式发到群里,这样要附加一些信息,可以将构建人加入进去。

插件: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才可以在后续使用
file

三.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"
                }
            }
        }
    }
}
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论