java.lang.UnsupportedOperationException:类jenkins.tasks.SimpleBuildWrapper的已知实现在jenkins中命名为BuildUser

java.lang.UnsupportedOperationException:类jenkins.tasks.SimpleBuildWrapper的已知实现在jenkins中命名为BuildUser,jenkins,jenkins-pipeline,jenkins-groovy,Jenkins,Jenkins Pipeline,Jenkins Groovy,我在Jenkins中准备脚本,如下所示,我在构建作业时遇到错误。此作业将发送电子邮件给用户,以便进行输入以进行下一步 [Pipeline] End of Pipeline java.lang.UnsupportedOperationException: no known implementation of class jenkins.tasks.SimpleBuildWrapper is named BuildUser at org.jenkinsci.plugins.structs

我在Jenkins中准备脚本,如下所示,我在构建作业时遇到错误。此作业将发送电子邮件给用户,以便进行
输入
以进行下一步

 [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' "
        }
    }
   }
}
def用户
节点{
换行([$class:'BuildUser'])){
user=env.BUILD\u user\u ID
}
emailext mimeType:'text/html',
主题:“[Jenkins]${currentBuild.fullDisplayName}”,
至:user@xxx.com",
正文:''''''''''
}
管道{
任何代理人
舞台{
阶段(‘部署’){
输入{
信息“我们应该继续吗?”
好的“是”
}
什么时候{
表达式{user=='hardCodeApproverJenkinsId'}
}
台阶{
sh“echo‘描述您的部署’”
}
}
}
}

有人能看一下吗?

您需要安装BuildUser类附带的--“build user vars plugins”插件。安装它,它会工作。