Jenkins獲取當前登錄用戶


方法一:

import hudson.model.*
def specificCause = currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause')
println "specificCause: $specificCause" //返回 specificCause: [[_class:hudson.model.Cause$UserIdCause, shortDescription:Started by user 張三, userId:zhangsan1, userName:張三]]
if (specificCause) {
    println("Executed by user $specificCause.userName")  //返回 Executed by user [張三]
    println "specificCause-userid0: ${specificCause.userId[0]}"  //返回 specificCause-userid0: zhangsan1
    println "shortDescription: $specificCause.shortDescription" //返回 shortDescription: [Started by user 張三]
}

 

方法二:

import hudson.model.*
def job = Jenkins.getInstance().getItemByFullName(env.JOB_BASE_NAME, Job.class)
def build = job.getBuildByNumber(env.BUILD_ID as int)
def userId = build.getCause(Cause.UserIdCause).getUserId()
def user = User.current()
println "userid is $userId" //返回當前登錄用戶ID “zhangsan”
println "user is $user"  //返回“System”
println User.get('zhangsan') //返回用戶zhangsan的顯示名稱“張三”

 

方法二:安裝插件build user vars

pipeline{
    agent any
    stages{

        stage("任務申請"){
            steps{
                wrap([$class: 'BuildUser']) {
                   script {
                   //獲取當前登錄用戶賬戶、姓名、郵箱
                   Applier_id = "${BUILD_USER_ID}"
                   Applier_name = "${env.BUILD_USER}"
                   Applier_mail = "${env.BUILD_USER_EMAIL}"
                   }
                   script{
                    
                    println Applier_id   

                   }
                }
            }
        }
        
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM