如何将职位描述添加到 Jenkins 电子邮件通知内容中

How to add Job Description into Jenkins email notification content

在 Jenkins 中使用 配置系统 > 扩展电子邮件通知 配置我想将我的工作描述(出现在 http://my-jenkins.org/job/myjob 页面上)添加到构建失败电子邮件的默认内容。

有没有我可以为此使用的 $PROJECT_DESCRIPTION 变量? 或者是否可以使用 Jelly/Groovy 脚本来做到这一点?

谢谢!

没有这个环境变量,可以自己设置:

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

作为第一个条目之一包含一个名为 'description' 的 xml 标签。将其解析为一个变量,然后用于通过电子邮件分机添加到电子邮件正文中。

正如 Zloj 所说,Jenkins 没有这样的变量,但您可以自定义自己的变量。 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"

猫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插件:-

按照上述 link 创建托管脚本文件,内容如下

sh /tmp/wrapper.sh    

现在进入你的项目配置:-

1).在构建选项下添加“执行托管脚本和select您在上一步中创建的脚本

2).应用并保存。

瞧。