gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 16:36:50 25 4
gpt4 key购买 nike

罪魁祸首是自上次未损坏的构建以来提交更改的用户列表。 Jenkins Email-ext 插件能够在构建后操作期间向罪魁祸首发送电子邮件。

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

任何人都可以建议我如何做到这一点吗?

最佳答案

“罪魁祸首”列表来自 jenkins 中的 SCM 插件,包括自上次成功构建以来已提交的所有用户。最终,email-ext 插件从 scm 获取其列表,并根据 following heuristic 生成电子邮件地址。

The plugin will generate an email address based on the committer's id and an appended "default email suffix" from Jenkins's global configuration page. For instance, if a change was committed by someone with an id "first.last", and the default email suffix is "@somewhere.com", then an email will be sent to "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 中读取,或者将结果保存到环境变量中,甚至将其保存到构建参数中。

关于Jenkins - 如何将 Email-ext 插件的 "Culprits"电子邮件列表变量传递给构建步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30225536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com