You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Editable Email插件邮件正文中展示Shell变量$result?

在Jenkins Editable Email插件中展示Shell命令输出

我来帮你搞定这个问题,其实分两步就能实现:把Shell的输出持久化让邮件插件能访问到,然后在邮件正文里引用它。

步骤1:把Shell输出保存到可访问的位置

你已经把命令输出存到$result变量里了,现在需要让这个内容能被Jenkins的邮件插件读取到。这里有两种常用且靠谱的方式:

方式A:写入文件(推荐,简单无额外插件依赖)

修改你的Shell脚本,把结果写入到构建工作区的一个文件里:

result=$(ssh paytmdev@10.100.9.25 './vikas-tesh.sh')
echo "$result"
# 把结果写入到工作区的output.txt文件,保留原格式
echo "$result" > ${WORKSPACE}/output.txt

这里用${WORKSPACE}是Jenkins内置的环境变量,指向当前构建的工作目录,能确保文件路径绝对正确。另外一定要用双引号包裹"$result",不然输出里的换行、空格等格式会丢失。

方式B:导出为Jenkins全局环境变量(需EnvInject插件)

如果你想把$result变成Jenkins的全局环境变量,先安装EnvInject Plugin,然后修改Shell脚本:

result=$(ssh paytmdev@10.100.9.25 './vikas-tesh.sh')
echo "$result"
# 把变量写入到环境变量配置文件
echo "RESULT=${result}" > ${WORKSPACE}/build.env

接着在Jenkins的构建步骤里添加Inject environment variables操作,选择"Properties File Path",填入${WORKSPACE}/build.env,这样RESULT变量就会被全局加载,后续所有步骤都能访问到。

步骤2:在Editable Email插件中引用内容

打开Editable Email插件的配置界面,找到Content(邮件正文编辑区),根据你选的方式来引用内容:

如果用方式A(读取文件)

在邮件正文中添加:

以下是Shell命令的输出内容:
${FILE, path="output.txt"}

这个${FILE, path="..."}是Email Extension插件(Editable Email是它的核心组件)提供的内置变量,用来读取指定路径的文件内容,会完整保留输出的格式。

如果用方式B(全局环境变量)

直接在邮件正文中引用变量即可:

以下是Shell命令的输出内容:
${ENV, var="RESULT"}

如果变量已经被正确注入,也可以直接用${RESULT}来引用,效果是一样的。

小提醒

测试的时候可以先手动查看output.txt的内容,或者在Jenkins的构建日志里检查环境变量是否正确加载,确保内容没问题再配置邮件发送环节,避免踩坑。

内容的提问来源于stack exchange,提问作者Vikas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:39:07