java.lang.UnsupportedOperationException: class jenkins.tasks.SimpleBuildWrapper 的已知实现在 jenkins 中没有被命名为 BuildUser

java.lang.UnsupportedOperationException: no known implementation of class jenkins.tasks.SimpleBuildWrapper is named BuildUser in jenkins

我在 Jenkins 中准备脚本如下,在构建作业时出现错误。此作业是向 input 的用户发送电子邮件以进行下一步。

 [Pipeline] End of Pipeline
 java.lang.UnsupportedOperationException: no known implementation of class jenkins.tasks.SimpleBuildWrapper is named BuildUser
    at org.jenkinsci.plugins.structs.describable.DescribableModel.resolveClass(DescribableModel.java:549)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:473)
    ...
    ...

版本:

$ java --version
 openjdk 11.0.11 2021-04-20

jenkins : 2.277.3

管道代码:

def user
node {
wrap([$class: 'BuildUser']) {
user = env.BUILD_USER_ID
}

emailext mimeType: 'text/html',
             subject: "[Jenkins]${currentBuild.fullDisplayName}",
             to: "user@xxx.com",
             body: '''<a href="${BUILD_URL}input">click to approve</a>'''
}

pipeline {
agent any
stages {
    stage('deploy') {
        input {
            message "Should we continue?"
            ok "Yes"
        }
        when {
            expression { user == 'hardCodeApproverJenkinsId'}
        }
        steps {
            sh "echo 'describe your deployment' "
        }
    }
   }
}

有人可以评论一下吗?

您需要安装the build user vars plugin