Groovy 如何知道哪个用户在文件中运行build

Groovy 如何知道哪个用户在文件中运行build,groovy,jenkins-pipeline,jenkinsfile,Groovy,Jenkins Pipeline,Jenkinsfile,我正在尝试获取正在Jenkins文件中运行生成的用户的名称: ... user = User.current().getFullName() ... 但要有“系统”。 如何获得正确的用户名 詹金斯1.651.3找到了解决方案: def build = currentBuild.rawBuild def cause = build.getCause(hudson.model.Cause.UserIdCause.class) def name = cause.getUserName() echo

我正在尝试获取正在Jenkins文件中运行生成的用户的名称:

...
user = User.current().getFullName()
...
但要有“系统”。 如何获得正确的用户名

詹金斯1.651.3找到了解决方案:

def build = currentBuild.rawBuild
def cause = build.getCause(hudson.model.Cause.UserIdCause.class)
def name = cause.getUserName()
echo "User: " + name
打印运行生成的用户的名称。

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

。。。然后,将你的步骤包装起来,如下所示:

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

            var name = "${BUILD_USER}"
        }
    }
}

不要一开始就将你的解决方案与其他解决方案进行比较。请解释为什么它不会触发“脚本不允许”,以及为什么它与此相关。;)