如何将pom版本号包含在Jenkins电子邮件通知中?
这是为了通知测试团队有关成功构建和构建版本的信息。目前,我们只能发送一封没有任何有用内容的通用电子邮件。
我尝试了以下但没有成功。
有人有任何想法吗?
答案 0 :(得分:1)
您可以使用可以使用正则表达式解析构建日志的Extended Email Notification plugin。
安装插件时,首先在主Jenkins配置页面上配置其默认行为。然后根据作业自定义:转到“构建后操作”并选中“可编辑的电子邮件通知”框。使用“内容令牌参考”帮助按钮获取您可能使用的令牌。其中包括BUILD_LOG_REGEX令牌及其用法说明。
所以你可以做的是通过构建日志以一些易于解析的形式输出你的POM,然后使用BUILD_LOG_REGEX将它解析到你的电子邮件中。
这是一个实际的测试版本(对于Windows),它将boo_ $ BUILD_ID_foo行回显到输出,插件解析该行并发送如下所示的电子邮件:
Here we go, Joe:
boo_2012-01-30_23-04-29_foo
作业的config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers class="vector"/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.BatchFile>
<command>echo boo_%BUILD_ID%_foo
</command>
</hudson.tasks.BatchFile>
</builders>
<publishers>
<hudson.plugins.emailext.ExtendedEmailPublisher>
<recipientList>youemail@company.com</recipientList>
<configuredTriggers>
<hudson.plugins.emailext.plugins.trigger.FailureTrigger>
<email>
<recipientList></recipientList>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<sendToDevelopers>false</sendToDevelopers>
<includeCulprits>false</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
</email>
</hudson.plugins.emailext.plugins.trigger.FailureTrigger>
<hudson.plugins.emailext.plugins.trigger.SuccessTrigger>
<email>
<recipientList></recipientList>
<subject>$PROJECT_DEFAULT_SUBJECT</subject>
<body>$PROJECT_DEFAULT_CONTENT</body>
<sendToDevelopers>false</sendToDevelopers>
<includeCulprits>false</includeCulprits>
<sendToRecipientList>true</sendToRecipientList>
</email>
</hudson.plugins.emailext.plugins.trigger.SuccessTrigger>
</configuredTriggers>
<contentType>text/plain</contentType>
<defaultSubject>$DEFAULT_SUBJECT</defaultSubject>
<defaultContent>Here we go, Joe:
${BUILD_LOG_REGEX, regex="^boo.*?foo.*?$",showTruncatedLines=false}
</defaultContent>
</hudson.plugins.emailext.ExtendedEmailPublisher>
</publishers>
<buildWrappers/>
</project>
答案 1 :(得分:0)
只需使用以下属性:
${POM_VERSION}