我想知道如何从下游版本向上游收件人列表发送电子邮件? 有一个选项可以将电子邮件发送到上游git提交者,但它不是我想要实现的。
答案 0 :(得分:0)
嗯...取决于你想要做什么,可能相当复杂.. 或超级简单 ......
超级简单的场景......
您是否只想将其发送到同一个静态列表?
然后,您只需在上游和下游作业中键入相同的收件人列表,即可将其发送到相同的列表。 :)
复杂的情况
想要传递动态收件人列表吗?如果是这样,那将会更复杂..
但一切都不会丢失!如何通过post ext-email脚本触发下游构建并将收件人列表作为构建参数传递下来。这样,您只需将其用作下游作业中的收件人列表。
以下是您需要为此方法执行的步骤的细分:
在下游工作中
打开ext-email插件的“高级设置”并将其粘贴到“预发送脚本”中。它将使用存储在“UpstreamRecipientList”参数中的值更新收件人列表。
msg.setRecipients(javax.mail.Message.RecipientType.TO, build.buildVariableResolver.resolve("UpstreamRecipientList"))
在上游工作中
打开ext-email插件的“高级设置”并将其粘贴到“发送后脚本”中。它将触发在当前收件人列表中传递的新构建。 请注意,您需要将“myDownstreamJob”字符串替换为调用下游作业的任何内容!
jenkins.model.Jenkins.instance.getItem("myDownstreamJob").scheduleBuild(5, new hudson.model.Cause.UpstreamCause(build), new hudson.model.ParametersAction([ new hudson.model.StringParameterValue( "UpstreamRecipientList", msg.getRecipients(javax.mail.Message.RecipientType.TO).join(",") ) ]));