2016-03-04 79 views
7

我试图在Jenkins管道作业中使用email-ext插件,但是在自由式作业中使用email-ext时,我认为理所当然的大多数标记不会被扩展?Email-ext和工作流/管道 - 有些令牌没有扩展?

例如

node { 
    emailext body: '${DEFAULT_CONTENT}', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS' 
} 

生成的电子邮件:

主题:

$ PROJECT_NAME - 打造#$ BUILD_NUMBER - $ BUILD_STATUS!

身体:

$ PROJECT_NAME - 打造#$ BUILD_NUMBER - $ BUILD_STATUS:检查在$ BUILD_URL控制台输出查看结果。

公平地说,在通用配置中设置了什么。但是,这些令牌都没有扩展,如果我直接从工作流中使用它们,它们也不会扩展,例如

emailext body: '$PROJECT_NAME', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS' 

这将是“好”,如果我能够用$ SCRIPT我现有的基于Groovy的电子邮件模板,但这些都是也不扩大。

道歉,如果我失去了一些令人难以置信的明显的东西 - 我没有太多的Pipeline经验 - 缺乏电子邮件的支持已经阻止我移动到目前为止。

我今天测试了通过干净安装Jenkins 1.651,email-ext 2.41.3和Pipeline 1.14。

+0

你把它整理出来了吗?你能举一个例子来回应吗?我问这是因为插件似乎缺乏文档https://issues.jenkins-ci.org/browse/JENKINS-33980 – sorin

+0

@sorin:我没有任何简单的共享代码,但是,我放弃了模板并且在cps-global-lib插件中实现了我自己的帮助程序/电子邮件构建器代码,当我完成后仍然调用email-ext。重复的努力,但我需要它。 –

回答

3

令牌与AbstractBuild高度绑定,该工作流程不使用。所以,现在令牌不会被正确替换。我需要修改token-macro插件(这是令牌扩展的基础),以便它可以与Run对象而不仅仅是AbstractBuild一起工作,但这是一个很大的任务,我还没有做过更改。您可以使用工作流DSL生成相同的内容。

+2

你能指点我们一个可行的例子吗?我试图让管道内部的email-ext插件工作,但似乎无法找到任何有用的示例。检查https://issues.jenkins-ci.org/browse/JENKINS-33980 – sorin

+0

我也在寻找例子。看来我打了一个死胡同 – KeshV