我安装了SetEnv plugin,它在任务期间可以很好地获取变量。是否可以在状态电子邮件中访问setenv hudson插件变量?
不幸的是,当我尝试在结果状态电子邮件中使用env变量时,我根本没有运气。这应该工作吗?
我已经尝试了$ VARNAME和$ {VARNAME} - 两者都没有在电子邮件中正确替换。
我安装了SetEnv plugin,它在任务期间可以很好地获取变量。是否可以在状态电子邮件中访问setenv hudson插件变量?
不幸的是,当我尝试在结果状态电子邮件中使用env变量时,我根本没有运气。这应该工作吗?
我已经尝试了$ VARNAME和$ {VARNAME} - 两者都没有在电子邮件中正确替换。
在电子邮件通知中使用环境变量(或任何变量)的最简单方法是使用Email-ext plugin。
检查他们的“内容令牌参考”的具体细节,但总之你会得到更复杂的替代。下面是我经常使用的几个:
该插件可以很容易地在Hudson配置中定义一个基础“全局”模板,然后在作业配置中“扩展”该模板 - 添加额外的细节。它还允许您根据构建状态/结果更细化地路由通知。
它看起来像我将不得不等待这样的:
这是可能的了。看起来你正在使用错误的语法。如前所述,email-ext插件具有访问环境变量的特定方法。尝试把这个在电子邮件正文代替:
${ENV, var=VARNAME}
的另一种方法是使用Hudson的执行shell功能在生成和解析它使用BUILD_LOG_REGEX为呼应环境变量。
例如,你可以在执行shell部分有这样的:
echo "Output: ${VARNAME}"
,并使用
${BUILD_LOG_REGEX, regex="^Output:", showTruncatedLines=false, substText=""}
也不起作用。 – Tim 2010-12-22 13:57:45
对不起,你是对的,它应该是:$ {ENV,var =“VARNAME”} – 2010-12-22 15:36:54
我使用该插件解析它在电子邮件。重点是另一个允许我添加env变量的插件似乎并不是将该值“导出”到电子邮件插件中。 – Tim 2010-12-21 19:02:25
我猜SetEnv-plugin的实现将变量注入每个构建步骤(Hudson为每个构建步骤使用一个新的外壳)。由于Email-ext没有创建单独的shell,因此我并不期望Email-ext插件具有其他环境变量。可能是一个有趣的插件功能要求。现在的问题是,什么需要改变什么插件,使其工作。 – 2010-12-21 19:12:48
昨天我发现了一些有趣的事情 - 一个新的插件定义/要求正在制定。一个新的电子邮件插件,以取代核心和电子邮件插件。我添加了访问env vars的请求。 (http://wiki.hudson-ci.org/display/HUDSON/The+new+EMailer) – Tim 2010-12-21 19:18:33