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

Rne*_*net 5 java hudson jelly jenkins email-ext

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

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

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

Jos*_*ger 3

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

然后,复制示例groovy-html.template并通过添加以下脚本对其进行自定义 -

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

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

看看班级吧hudson.model.ParametersAction

  • 谢谢:我找到了一种不同的方式,构建参数可用作环境变量,我有以下代码来访问环境变量: '&lt;j:set var="buildenv" value="${build.getEnvironment(listener)}"/ &gt; &lt;j:set var="customMsg" value="${buildenv.get('customMsg')}"/&gt; ${customMsg}' (2认同)