Jenkins input獲取提交人


 

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
                    }
                }       

                 
            }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM