如何将BUILD_USER从Jenkins传递到PowerShell

时间:2019-08-20 20:59:15

标签: powershell jenkins

我很难将BUILD_USER从Jenkins传递到PowerShell。我在Jenkins中使用Build User Vars插件。我可以很好地输出"${BUILD_USER}",但是当我尝试将其传递给PowerShell时,却一无所获。

这是我当前的常规文件:

#!groovy
pipeline {
    agent {
        label 'WS'
    }
    stages {
        stage ('Pass build user'){
            steps {
                wrap([$class: 'BuildUser']) {
                    script {
                        def BUILDUSER = "${BUILD_USER}"
                        echo "(Jenkins) BUILDUSER = ${BUILD_USER}"
                        powershell returnStatus: true, script: '.\\Jenkins\\Testing\\Output-BuildUser.ps1'
                    }
                }
            }
        }
    }
    post {
        always {
            cleanWs(deleteDirs: true)
        }
    }
}

这是我的PowerShell文件:

"(PS) Build user is $($env:BUILDUSER)"

不确定要尝试什么。

1 个答案:

答案 0 :(得分:1)

def BUILDUSER = ...不会创建环境变量,因此PowerShell(始终在子进程中运行)不会看到它。

要创建子进程可以看到的名为BUILDUSER的环境变量,请使用
env.BUILDUSER = ...