将jenkins环境变量合并到groovy模板中以进行电子邮件通知

use*_*622 4 groovy jenkins jenkins-plugins

我在jenkins上为一个项目定义了几个环境变量,其中我想将其中一些变量合并到构建成功前后发送的电子邮件通知中。

但是groovy.text.Template似乎不接受这些环境变量。

我还使用了“将环境变量注入到构建过程的功能帮助:将环境变量注入到构建过程”,并按如下方式定义了我的变量

BUILD_NAME=${BUILD_NAME}
Run Code Online (Sandbox Code Playgroud)

BUILD_NAME我执行构建时在哪里被接受为参数。

请有人可以帮我这个忙。

小智 5

如果您使用email-ext Jenkins插件发送电子邮件,则有一个“ build”对象,其中包含有关Jenkins工作的很多信息。

我将执行以下操作:

  1. 通过将以下代码添加到模板中,打印出该对象内部的属性:

    <% println build.properties.collect{it}.join('<br />') %>

  2. 查看电子邮件模板输出。您可以使用Jenkins的“电子邮件模板测试”功能,也可以只运行您的工作。您应该看到一大堆“ KEY = VALUE”打印输出。

  3. 查找您感兴趣的环境变量。如果您的环境变量在中列出environment={BUILD_NUMBER=45, BUILD_DISPLAY_NAME=#45...},则可以调用build.environment['BUILD_NUMBER']获取45。

  4. 如果要注入自定义环境变量,建议安装Env Inject插件,通过该插件定义变量,然后在build.envVars中查找变量