jenkins 在pipeline使用邮件通知

本文档记录了修复Jenkinsfile中邮件通知失效的过程。首先检查系统配置,确认邮件功能正常。然后发现代码配置问题,调整jenkinsfile中的邮件发送步骤,包括使用正确的环境变量。通过试验和错误,最终确定在post阶段根据构建状态(failure或success)发送不同内容的邮件,成功实现了邮件通知功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天发现一个问题,之前jenkinsfile中的邮件通知失效了,于是赶忙打开系统配置测试邮件功能是否有问题:
在这里插入图片描述
点击测试,看看能不能收到邮件:
在这里插入图片描述
收到邮件,那么说明是代码配置的问题,接下来打开jenkinsfile里定义的查看:
已失效的原配置:

stages {
	    stage ('send email') {
			steps {
				emailext body: '''$PROJECT_NAME -Build # $BUILD_NUMBER - $BUILD_STATUS:
				Check console output at $BUILD_URL to view the results.''', 
				recipientProviders: [developers()], 
				replyTo: 'Please don\'t reply!!!', 
				subject: '构建通知:$PROJECT_NAME -Build # $BUILD_NUMBER - $BUILD_STATUS!'
			}
	    }
	}

然后经过一通修改:

stages {
		stage("send mail test") {
			steps{
				script {
					mail to: '邮箱地址,例:xxxx@qq.com',
                    subject: "Running Pipeline: ${currentBuild.fullDisplayName}",
                    body: " ${env.PROJECT_NAME} -Build # ${env.BUILD_NUMBER} - ${env.BUILD_STATUS}!\n Check console output at ${env.BUILD_URL} to view the results."
				}
			}
		}
	}

这样邮件可以收到了,但是这两个变量读取不到
在这里插入图片描述

于是打开 ip:端口/env-vars.html 查看可用变量
找到名称的变量
在这里插入图片描述
修改:

stages {
		stage("send mail test") {
			steps{
				script {
					mail to: '填写收件的邮箱地址,例:xxxx@qq.com',
                    subject: "Running Pipeline: ${currentBuild.fullDisplayName}",
                    body: " ${env.JOB_NAME} -Build # ${env.BUILD_NUMBER} - ${env.BUILD_STATUS}!\n Check console output at ${env.BUILD_URL} to view the results."
				}
			}
		}
	}

发现任务的名称有了,但是状态还是读取不到
在这里插入图片描述

找不到变量,那么就手动写:

	stages {
	
	}
	post{
	    failure {
	        script {
	            mail to: '填写收件的邮箱地址,例:xxxx@qq.com',
                    subject: "Running Pipeline: ${currentBuild.fullDisplayName}",
                    body: " ${env.JOB_NAME} -Build # ${env.BUILD_NUMBER} - error!\n Check console output at ${env.BUILD_URL} to view the results."
	        }
	    }
	    success {
	        script {
	            mail to: '填写收件的邮箱地址,例:xxxx@qq.com',
                    subject: "Running Pipeline: ${currentBuild.fullDisplayName}",
                    body: " ${env.JOB_NAME} -Build # ${env.BUILD_NUMBER} - Success!\n Check console output at ${env.BUILD_URL} to view the results."
	        }
	    }
	}

首先post跟stages同一级:
使用failure构建失败了执行,success构建成功了执行,到这里达到可用状态
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值