小编典典

Jenkins-如何将Email-ext插件的“ Culprits”电子邮件列表变量传递给构建步骤?

jenkins

Culprits是自上次不间断构建以来至今做出更改的用户列表。Jenkins Email-ext插件可以在构建后操作期间向罪犯发送电子邮件。

我想在Jenkins工作中的python脚本构建步骤中使用Culprits定义的电子邮件列表。

谁能建议我该怎么做?


阅读 398

收藏
2020-07-25

共1个答案

小编典典

“罪犯”列表来自jenkins中的SCM插件,其中包括自上一次成功构建以来已提交的所有用户。最终,电子邮件扩展插件将从scm采购其列表,并根据以下启发式方法生成电子邮件地址

该插件将基于提交者的ID和来自Jenkins全局配置页面的“默认电子邮件后缀”生成电子邮件地址。例如,如果更改是由ID为“
first.last”的某人提交的,并且默认电子邮件后缀为“ @ somewhere.com”,则电子邮件将发送到“
first.last@somewhere.com

如果您的电子邮件地址具有某种模式(并且必须这样做,否则email-ext插件将无法生成正确的地址),那么您可以在常规脚本中自行生成它们,例如:

import hudson.model.*
def culprits = build.getCulprits()
def list = culprits.collect{it.getFullName().toLowerCase().replace(" ", ".") + "@mydomain.com"}

这个例子将转换罪魁祸首像“亚当·斯密”到adam.smith@mydomain.com但是你可以调用替换到getFullName()一起呼叫getId(),并操纵包含但是适当的。例如:

def list = culprits.collect{it.getId().toLowerCase() + "@mydomain.com"}

这是email-ext使用的基本格式-您可以从文档中获取用户属性的完整列表

现在,您已在常规脚本中使用了列表,但是如何使该列表可用于python脚本?那将取决于您习惯做的事情。您可以将列表写入工作区并从python读取它,或者将结果保存到环境变量,甚至保存到构建参数。

2020-07-25