Jenkins将构建参数传递给email-ext模板

时间:2013-06-27 00:33:02

标签: java jenkins hudson jelly email-ext

如何将构建参数传递给email-ext果冻模板? 在进行一些构建之前,我想提出一个不同的自定义消息/一些公告/非代码更改,决定等。我正在考虑将此作为构建参数,以便我看到一个屏幕提示我输入如果我打算手动构建,请留言。

编辑:我找到了一个解决方案,构建参数可用作Env变量,我有这个代码来访问Env变量:

   <j:set var="buildenv" value="${build.getEnvironment(listener)}"/>
   <j:set var="customMsg" value="${buildenv.get('customMsg')}"/>
   ${customMsg}

2 个答案:

答案 0 :(得分:1)

切换到email-ext groovy电子邮件模板。

然后,复制样本groovy-html.template并通过添加以下脚本自定义它 -

<%
  def parametersAction = build.getAction(ParametersAction.class)

  if (parametersAction != null)
  {
    for (p in parametersAction.parameters)
    {
      %><%=p.name%>=<%=p.value%><br/><%
    }                                               
  }
%>

查看hudson.model.ParametersAction课程。

答案 1 :(得分:0)

在我的电子邮件模板中唯一对我有用的是:

<%
    import hudson.model.*

    def YOUR_VARIABLE= build.getEnvVars()["SOME_BUILD_PARAMETER"];
%>

然后你可以使用

${YOUR_VARIABLE}