Jenkins Pipeline BuildUser plugin

Jenkins BuildUser BUILD_USER_EMAIL BUILD_USER_ID BUILD_USER BUILD_USER_FIRST_NAME BUILD_USER_LAST_NAME

Build User Vars Plugin also known as build user vars plugin

Install:

On the Jenkins UI click on Jenkins - Manage Jenkis - Manage Plugins - Available filter for user build vars, check the checkbox and click on "install without restart".

This is a sample Jenkinsfile showing how to use it.

examples/jenkins/builduser.Jenkinsfile

pipeline {
   agent none
   stages {
       stage('example') {
           agent { label 'master' }
           steps {
               script {
                   wrap([$class: 'BuildUser']) {
                       echo "BUILD_USER=${BUILD_USER}"
                       echo "BUILD_USER_FIRST_NAME=${BUILD_USER_FIRST_NAME}"
                       echo "BUILD_USER_LAST_NAME=${BUILD_USER_LAST_NAME}"
                       echo "BUILD_USER_ID=${BUILD_USER_ID}"
                       echo "BUILD_USER_EMAIL=${BUILD_USER_EMAIL}"
                       echo "---"
                       echo "env.BUILD_USER=${env.BUILD_USER}"
                       echo "env.BUILD_USER_FIRST_NAME=${env.BUILD_USER_FIRST_NAME}"
                       echo "env.BUILD_USER_LAST_NAME=${env.BUILD_USER_LAST_NAME}"
                       echo "env.BUILD_USER_ID=${env.BUILD_USER_ID}"
                       echo "env.BUILD_USER_EMAIL=${env.BUILD_USER_EMAIL}"
                   }
               }
           }
       }
   }
}


In order to make the variables available you need to have your code wrapped in:

wrap([$class: 'BuildUser']) {
}

Sometime it is inconvenient to do that for the whole code, so inside the wrapper, you can copy the values to Other variables that can be then accessed outside of the wrapper as well.

See also Jenkins pipeline: get current user using currentBuild and getBuildCauses.

Other pages

Jenkins pipelines: Arbitrary code execution in the shell
Jenkins pipeline: get current user
Jenkins

Author

Gabor Szabo (szabgab) Gabor Szabo