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 "\033[31m 任務已被審批人 ${user} 拒絕。 \033[0m" currentBuild.result = 'ABORTED' } } println userInput:輸出結果為 {submituser=Zhangsan, 確認=true} if (userInput.確認 == true) { //發郵件待系統管理員執行任務 submituser1 = "${userInput.submituser}" echo "\033[32m 已審批完成,待系統管理員執行。 \033[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 } } }