如何知道哪些用户在Jenkinsfile中运行构建

bur*_*vyg 3 groovy jenkins-pipeline jenkinsfile

我试图获取在Jenkinsfile中运行构建的用户的名称:

...
user = User.current().getFullName()
...
Run Code Online (Sandbox Code Playgroud)

但得到"系统".如何获得正确的用户名

詹金斯1.651.3

bur*_*vyg 6

找到解决方案

def build = currentBuild.rawBuild
def cause = build.getCause(hudson.model.Cause.UserIdCause.class)
def name = cause.getUserName()
echo "User: " + name
Run Code Online (Sandbox Code Playgroud)

打印运行构建的用户的名称.


use*_*606 5

如果您遇到“不允许使用脚本”,这也有效;

安装此处找到的 Build User Vars 插件

...然后结束你的步骤,像这样:

steps {
    script {
        wrap([$class: 'BuildUser']) {

            var name = "${BUILD_USER}"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)