如何在Jenkins电子邮件通知中获取环境变量?

时间:2017-06-02 08:32:40

标签: jenkins jenkins-plugins

在Jenkins作业配置中,我在构建部分的命令窗口中编写了一个bat脚本。在其中一个脚本命令中,我将环境变量设置为服务器计算机中的系统环境变量,如下所示:

setx Analysis_URL "http://analysis_url/analysis/%analysis_id%.html

我现在的任务是将此环境变量值返回给Jenkins,并将其包含在我的帖子构建通知电子邮件内容中。有一个简单的方法吗?

在我的研究中,我遇到了插件envInject,但我认为它用于设置环境变量,是吗?

更新1:

事实证明,该变量可以通过电子邮件内容中的简单$ Analysis_URL访问,但是,由于我的环境变量在每次作业构建后更改其值,因此引发了另一个问题,但由于Jenkins仅获取系统的副本环境变量我在电子邮件内容中每次构建后都会获得相同的变量值,它只会在重新启动Jenkins后发生变化。有没有办法将更新的系统环境变量提供给Jenkins?

更新2:

EnvInject插件完成了我想要的工作。这些是我执行的步骤:

  1. 构建步骤"批处理命令窗口":添加命令:
  2. echo ANALYSIS_URL=$ANALYSIS_URL > my.properties

    1. 构建步骤"在字段中注入环境变量":" Properies文件路径"
    2. $WORDKSPACE/my.properties

      1. 构建后的操作:"可编辑的电子邮件通知",字段"默认内容":
      2. 当前分析网址:$ANALYSIS_URL

3 个答案:

答案 0 :(得分:0)

您是否尝试过env.Analysis_URL访问您的环境变量?

答案 1 :(得分:0)

在构建后的电子邮件中打印变量:

  1. 将其添加到构建中:执行shell部分:

    echo count = $ count> count.txt 回声distingecount = $ distinctcount> distinctcount.txt

execute shell section

  1. 将其添加到“属性文件路径”下的“注入环境变量”部分:

    $ {WORKSPACE} /count.txt

另一个单独的属性文件路径(因为我有两个变量)

${WORKSPACE}/distinctcount.txt

(注意:工作空间是詹金斯的密码,并列出了位置) Properties File Path

  1. 在“可编辑的电子邮件通知”的“默认内容”部分中调用变量:

    总数:$ count个不同的计数:$ distinctcount

editable email notification

注意 确保在电子邮件设置底部的“高级设置”下将电子邮件设置始终设置为“总是”,否则仅在首次成功或失败时才通过电子邮件发送: advanced settings email setup as "always"

答案 2 :(得分:0)

您可以只使用: $ {yourDefinedVriableName}