首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins将构建参数传递给email-ext模板

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

Stack Overflow用户
提问于 2013-06-27 08:33:02
回答 3查看 7.4K关注 0票数 6

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

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

代码语言:javascript
复制
   <j:set var="buildenv" value="${build.getEnvironment(listener)}"/>
   <j:set var="customMsg" value="${buildenv.get('customMsg')}"/>
   ${customMsg}
EN

回答 3

Stack Overflow用户

发布于 2013-06-28 08:43:38

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

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

代码语言:javascript
复制
<%
  def parametersAction = build.getAction(ParametersAction.class)

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

看一下hudson.model.ParametersAction类。

票数 3
EN

Stack Overflow用户

发布于 2018-05-19 18:13:00

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

代码语言:javascript
复制
<%
    import hudson.model.*

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

然后你就可以使用

代码语言:javascript
复制
${YOUR_VARIABLE}
票数 1
EN

Stack Overflow用户

发布于 2022-03-03 15:38:23

对于我来说,对于在管道脚本中定义的变量,唯一有效的方法是这个问题的公认答案:

Access variable in email ext template using Jenkins pipeline

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

代码语言:javascript
复制
env.MY_VARIABLE="Some value"

在管道脚本内部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17332685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档