6

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

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

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

3 回答 3

3

切换到 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课堂。

于 2013-06-28T00:43:37.777 回答
1

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

<%
    import hudson.model.*

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

然后你可以使用

${YOUR_VARIABLE}
于 2018-05-19T10:12:59.770 回答
0

对我的管道脚本中定义的变量有用的唯一方法是这个问题的公认答案:

使用 Jenkins 管道访问电子邮件分机模板中的变量

我添加了一个需要定义变量的答案

env.MY_VARIABLE="Some value"

在管道脚本中。

于 2022-03-03T15:38:23.313 回答