詹金斯管道通过电子邮件输入

Ank*_*pta 1 groovy jenkins jenkins-pipeline

我正在使用 Jenkins 管道,我希望用户通过电子邮件提供输入,我尝试过此操作,但没有帮助。

def tok = UUID.randomUUID().toString()
mail to: 'admins@mycorp', subject: 'Ready to roll?', mimeType: 'text/html',
body: """Please <a href="${env.JENKINS_URL}pipeline-inputs/${tok}/proceed">approve me</a>!"""
input message: 'Ready?', token: tok
Run Code Online (Sandbox Code Playgroud)

关于此的任何指示,我也想要令牌或任何类型的身份验证。提前致谢

Roc*_*ing 6

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

        def userInput = input id: 'userInput',
                              message: 'Let\'s promote?', 
                              submitterParameter: 'submitter',
                              submitter: 'tom',
                              parameters: [
                                [$class: 'TextParameterDefinition', defaultValue: 'sit', description: 'Environment', name: 'env'],
                                [$class: 'TextParameterDefinition', defaultValue: 'k8s', description: 'Target', name: 'target']]

        echo ("Env: "+userInput['env'])
        echo ("Target: "+userInput['target'])
        echo ("submitted by: "+userInput['submitter'])
Run Code Online (Sandbox Code Playgroud)

Tom会收到一封包含输入url的邮件,只有tom才能成功提交输入。