How to add Job Description into Jenkins email notification content

时间:2015-09-14 16:04:11

标签: email groovy jenkins jenkins-plugins jelly

Using the Configure System > Extended E-mail Notification configuration in Jenkins I would like to add the description of my job (present on http://my-jenkins.org/job/myjob page) into the Default Content of build failure emails.

Is there any $PROJECT_DESCRIPTION variable that I can use for that ? Or is it possible to do that using a Jelly/Groovy script ?

Thanks !

2 个答案:

答案 0 :(得分:0)

没有这样的环境变量,但你可以自己设置:

${JENKINS_HOME}/jobs/${JOB_NAME}/config.xml

由于其中一个条目包含一个名为“description”的xml标记。将其解析为变量,然后使用通过电子邮件分机添加到电子邮件正文

答案 1 :(得分:0)

正如Zloj所说,詹金斯没有这样的变量,但你可以定制自己的变量。 Jenkins有插件通过文件设置环境变量 Envfile插件

提取说明

grep -o '<description>.*</description>' /var/lib/jenkins/jobs/your_job_here/config.xml | sed 's/\(<description>\|<\/description>\)//g' 

并将其保存在例如:/ tmp / ENV

的文件中

如果描述内容是“Hello world”。

cat /tmp/ENV
$PROJECT_DESCRIPTION=Hello World

现在在电子邮件中添加$ PROJECT_DESCRIPTION

对于动态更新的描述,我找到了一个解决方法,直到找到更好的解决方案... 创建一个shell脚本“wrapper.sh”

cat wrapper.sh

#!/bin/bash

echo "PROJECT_DESCRIPTION=`grep -o '<description>.*</description>' /var/lib/jenkins/jobs/your_job_here/config.xml | sed 's/\(<description>\|<\/description>\)//g'`" > /tmp/env

此脚本动态创建您的env文件。

现在安装ManagedScript插件: -

按照上述链接以及以下内容

创建托管脚本文件
sh /tmp/wrapper.sh    

现在转到您的项目配置: -

1)。在“构建”选项下,添加“执行托管脚本并选择您在上一步中创建的脚本

2)。申请并保存。

瞧。