steps{ script{ //等待审批人审批,并通过timeout设置任务过期时间,防止任务永远挂起 def userInput timeout(timeout_mins){ try { userInput = input( id: 'inputap', message: "$input_message", ok:"同意", submitter:"$Approver",submitterParameter: 'submituser', parameters: [ [$class: 'BooleanParameterDefinition', defaultValue: true, description: '', name: '确认'] ]) } catch(err) { // input false def user = err.getCauses()[0].getUser() userInput = false echo " 33[31m 任务已被审批人 ${user} 拒绝。 33[0m" currentBuild.result = 'ABORTED' } } println userInput:输出结果为 {submituser=Zhangsan, 确认=true} if (userInput.确认 == true) { //发邮件待系统管理员执行任务 submituser1 = "${userInput.submituser}" echo " 33[32m 已审批完成,待系统管理员执行。 33[0m" } else { emailext( subject:"【拒绝】${env.JOB_NAME}(#${env.BUILD_NUMBER})", body:"""审批人$Approver 未通过您的申请任务 ${env.JOB_NAME}(#${env.BUILD_NUMBER})。<br> <a href="${JOB_URL}">点击该链接可查看任务</a>""", to:"$Applier_mail" ) return } } }