Culprits是自上次非破坏构建以来一直提交更改的用户列表。 Jenkins Email-ext插件能够在构建后的操作过程中向犯罪分子发送电子邮件。
我想在我的Jenkins工作中的python脚本构建步骤中使用Culprits定义的电子邮件列表。
有人可以建议我怎么做吗?
答案 0 :(得分:4)
'culprits'列表来自jenkins的SCM插件,包括自上次成功构建以来已提交的所有用户。最终,email-ext插件从scm获取其列表并根据following heuristic生成电子邮件地址
该插件将根据提交者的ID和Jenkins全局配置页面附加的“默认电子邮件后缀”生成一个电子邮件地址。例如,如果更改是由ID为“first.last”的人提交的,默认电子邮件后缀为“@ somewhere.com”,则会将电子邮件发送到“first.last@somewhere.com”
如果你的电子邮件地址有某种模式(他们必须这样做,否则email-ext插件不会生成正确的地址),那么你可以在一个groovy脚本中自己生成它们,例如:
import hudson.model.*
def culprits = build.getCulprits()
def list = culprits.collect{it.getFullName().toLowerCase().replace(" ", ".") + "@mydomain.com"}
此示例会将像“Adam Smith”这样的罪魁祸首转换为adam.smith@mydomain.com
但是,您可以通过调用getFullName()
来取代对getId()
的调用,并对其进行操作。例如:
def list = culprits.collect{it.getId().toLowerCase() + "@mydomain.com"}
email-ext使用的基本格式 - 您可以从documentation.
获取用户属性的完整列表现在你有一个groovy脚本中的列表,但是如何使这个列表可用于你的python脚本?这将归结为您以前所做的事情。您可以将列表写入工作区并从python中读取,或将结果保存到环境变量,甚至将其保存到构建参数。