首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Groovy脚本获取构建请求程序(Jenkins / email-ext)

使用Groovy脚本获取构建请求程序(Jenkins / email-ext)
EN

Stack Overflow用户
提问于 2014-08-18 12:00:41
回答 1查看 3.5K关注 0票数 3

我希望在构建后脚本中获取构建请求者的用户名和/或电子邮件地址。

Sidenote:我想要请求者,这样我就可以在email-ext插件的预发送脚本中动态地设置邮件发送方的邮件发送方。

AbstractBuild内置了对AbstractBuild.getCulprits()AbstractBuild.hasParticipant(User user)的支持,但我找不到检索请求者的方法。我在参考表中也找不到对User类的任何有用的引用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-18 12:59:01

我设法通过构建的Cause ( 在这个答案中推荐 )来解决这个问题。

在构建的原因中可以找到构建请求者的原因是非常有意义的:不是每个构建都是由用户直接触发的。如果是由用户触发的,则生成原因列表包含一个Cause.UserIdCause,其中包含用户的id和名称。

这段代码片段对我有用。它通过原因从构建中提取用户名,并设置from和ReplyTo头。我在电子邮件分机 Jenkins插件的预发送脚本中使用它。

代码语言:javascript
复制
import javax.mail.internet.InternetAddress

cause = build.getCause(hudson.model.Cause.UserIdCause.class);
username = cause.getUserName()
id = cause.getUserId()
email = new InternetAddress(String.format("%s <%s@example.com>", username, id))

msg.setFrom(email)
msg.setReplyTo(email);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25362820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档