【问题标题】:How to use Hudson "Parameterized Build" values in an email如何在电子邮件中使用 Hudson“参数化构建”值
【发布时间】:2011-03-03 13:45:22
【问题描述】:

我们在项目内部运行 Hudson 构建服务器。每次服务器部署新版本时,我们都会发送电子邮件。

我希望这封电子邮件包含更多信息,包括用户名和构建原因。

根据Parameterized builds 上的 hudsons 文档,已将文本参数添加到构建中。我在这里尝试使用两种不同的方法(以查看有效的方法):

在作业配置This build is parameterized我添加了以下两个变量

Name:          USER 
Default value: userCAPITALIZED

Name:          user
Default value: userstandard

查看的截图
(来源:justaddwater.dk
.

现在,在底部的“可编辑电子邮件通知”部分,我已经尝试了一切来检索这些值。

什么有效:所有标准的 Hudson 构建变量都有效。比如$CHANGES$SVN_REVISION等。

但我尝试访问变量 userUSER 没有任何运气。以下是不起作用的列表:

subject: test of parametrized mail 1user:${env.user}, 2USER:${USER}, 3$USER, 4${ENV, USER}, 5%USER%,stop

more tests
${env, user}
${env, USER}
${ENV, user}
${ENV, USER}
${user}
${USER}
${env.user}
${ENV.user}
${env.USER}
${ENV.USER}
$user
$USER
%user%
%USER%

changes $CHANGES
changes ${CHANGES}
subversion revision: $SVN_REVISION
subversion revision: ${SVN_REVISION}


(来源:justaddwater.dk

这只会导致一封包含此内容的电子邮件:

test of parametrized mail 1user:${env.user}, 2USER:${USER}, 3$USER, 4${ENV, USER}, 5%USER%,stop

more tests
${env, user}
${env, USER}
${ENV, user}
${ENV, USER}
${user}
${USER}
${env.user}
${ENV.user}
${env.USER}
${ENV.USER}
$user
$USER
%user%
%USER%

changes
changes
subversion revision: 400
subversion revision: 400

如您所见,只有 subversion 版本正确扩展。此特定作业的更改为空,因此请忽略。

您如何定义电子邮件中的参数?有什么建议么? 我使用的是 Hudson 1.395 版

【问题讨论】:

  • 这个问题刚刚赢得了“风滚草”徽章,因为没有投票,没有答案。因此,我现在开始赏金以了解更多关于 Hudon 电子邮件配置的可能性

标签: email configuration continuous-integration hudson


【解决方案1】:

你需要使用这样的参数:${ENV, var="USER"}

“USER”和“user”是一样的——你需要给出不同的名字。

【讨论】:

  • 非常感谢。我期待着下周在工作中尝试这个。
【解决方案2】:

除了 Rene 的建议(即使用${ENV, var="USER"}),我相信您还需要安装另一个plugin called 'email-ext'。 我在some other question 中找到了该信息(虽然没有接受的答案)。

【讨论】:

  • 感谢您的提醒。我忘了写需要插件(我还是参考了它的配置设置)。
【解决方案3】:

我知道这是一个老问题,但要求用户输入他们的用户名有点多余,并且可能被欺骗。

Hudson 已经知道是谁触发了构建(您可以在构建页面中看到它),但是它不会将其公开到变量中。有一个Job-Exporter 插件可以将此信息(以及更多信息)导出到工作区中的文件中。它将位于build.user.name 属性下。

从那里,您可以使用EnvInject 插件,将这个导出的属性文件 (hudsonBuild.properties) 提供给它,您将有一个名为build.user.name 的环境变量可在电子邮件中作为${ENV, var="build.user.name"} 使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2013-09-02
    • 1970-01-01
    相关资源
    最近更新 更多