jenkins管道通过电子邮件输入

时间:2016-12-24 05:23:24

标签: jenkins groovy 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

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

1 个答案:

答案 0 :(得分:2)

        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'])

Tom会收到一封包含输入网址的邮件,只有tom可以成功提交输入。