Jenkins pipeline mail

流水线语法的入口

打开你需要设置邮件发送的流水线任务,你可以看到「流水线语法」的入口


或者进入它该的「配置」界面,下拉到底你一样也可以看到「流水线语法」的入口

Jenkins pipeline mail 语法

在示例步骤处下拉找到「mail」,按照提示填写,即可生成邮件发送的 pipeline 的指令代码片段。


一个生成的邮件发送的 pipeline 的指令代码片段的样例


它最终生成的指令代码片段是下面这个样子的

mail bcc: '这里写密送', body: '这里写正文', cc: '这里写抄送', from: '', replyTo: '', subject: '这里写主题', to: '这里写收件人收件人'

当然它同时也可以设置一些高级的选项,比如媒体类型、发件人、字符集等信息

其中媒体类型有两种选择

  • text/html 网页
  • text/plain 文本

基于「流水线语法」页面上的信息我们可以知道「mail」这个组件的能力属于「Pipeline:Basic Steps」的范畴,不需要额外安装。

补充

  • jenkins https://plugins.jenkins.io/workflow-basic-steps/releases

  • github https://github.com/jenkinsci/workflow-basic-steps-plugin

    workflow-basic-steps-plugin的 gitHub 源码内我们可以看到所有的 Basic Steps

Jenkins 配置 QQ 邮件

获取 QQ 邮箱的三方账号授权码

设置系统管理员邮箱地址

设置邮件通知的相关信息



SMTP服务器:smtp.qq.com

用户默认邮件后缀:@qq.com

开启STMP认证,用户名为你的个人QQ邮箱,密码为你在前面获取的 QQ 邮箱的三方账号授权码

使用SSL协议:开启

使用TLS:开启

SMTP端口:465 (默认端口)

Reply-To Address:回复地址

字符集:UTF-8

发送测试


发送测试成功

在 Pipeline 中测试

/**
 *  pipeline 0.0.1
 */
pipeline {
    
    environment {
        GIT_CREDENTIALSID = "your-git-credentials-id"
        GIT_URL = "git@github.com:x/y.git"
    }
    agent any

    parameters {
        string(name: 'branch', defaultValue: 'develop', description: 'Which branch?')
        string(name: 'tag', defaultValue: '', description: 'Which tag?')
    }

    tools {
        //工具名称必须在Jenkins全局工具配置中预配置。
        maven 'maven'
    }

    stages {
        stage('源码准备') { // for display purposes
            steps{
                echo "branch: ${params.branch} ,tag: ${params.tag}"
                // Get some code from a GitHub repository
                script {
                    if(params.tag==''){
                        git branch: "${params.branch}", credentialsId: "${GIT_CREDENTIALSID}", url: "${GIT_URL}"
                    }else {
                        checkout(
                                [$class: 'GitSCM', branches: [[name: "refs/tags/${params.tag}"]],
                                 doGenerateSubmoduleConfigurations: false, extensions: [],
                                 submoduleCfg: [],
                                 userRemoteConfigs: [
                                         [credentialsId: "${GIT_CREDENTIALSID}", url: "${GIT_URL}"]
                                 ]
                                ]
                        )
                    }

                }
            }
        }
    }

    post('通知') {
        success {
            mail to:"your-qq-email-user-name@qq.com", subject:"SUCCESS: ${currentBuild.fullDisplayName}",body: "Yay, we passed."
        }
        failure {
            mail to:"your-qq-email-user-name@qq.com", subject:"FAILURE: ${currentBuild.fullDisplayName}",body: "Boo, we failed."

        }
        unstable {
            mail to:"your-qq-email-user-name@qq.com", subject:"UNSTABLE: ${currentBuild.fullDisplayName}",body: "Huh, we're unstable."
        }
        changed {
            mail to:"your-qq-email-user-name@qq.com", subject:"CHANGED: ${currentBuild.fullDisplayName}", body: "Wow, our status changed!"
        }
    }
    
}

将上面的 pipeline 脚本在 jenkins 中执行即会触发邮件发送

执行请务必把your-qq-email-user-name@qq.com替换成你的个人邮箱.

由于脚本中的应用的GIT_URL对应的内容是我随意写的,所以我这里收到的是一封构建失败的邮件,符合预期。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值