Jenkins从Git中获取电子邮件地址吗?

3
我已经安装了最新版本的Jenkins,以及电子邮件扩展插件。当构建失败时,计划向所有相关补丁作者发送电子邮件。
我遇到的问题是发送的电子邮件是发送给过时的电子邮件地址。我让我的团队更新他们本地的git配置设置,以确保新的检入被注册为当前用户的电子邮件地址,但这似乎并没有解决问题。
Jenkins从Git中获取电子邮件地址,当它们不是最新的时,如何更新它们?
更新: 彼得的答案是好信息,但只是一个开始。我还没有完全解决这个问题,但我注意到了一些事情。虽然git本身有用于检入的权限,但GitHub可以有多个备用电子邮件地址,还有许多其他第三方工具包装或与Git交互。(例如Visual Studio)。
似乎其中一些工具可以将凭据插入检入中。如果您正在尝试解决此问题,请检查使用的所有工具的凭据。
此外,请检查Jenkins中的用户页面。Jenkins会自动导入在构建分支时遇到的用户,如果权限输入不正确(例如,使用个人电子邮件地址而不是商务地址),则会显示在那里。这是找到具有错误git配置的git用户的好方法。

此外,似乎如果您在git中使用用户名和电子邮件开始,则Jenkins将基于该信息创建一个Jenkins用户。然后,如果您稍后更改了git配置,则Jenkins仍将保存您旧的电子邮件。因此,您需要进入Jenkins仪表板> People>选择一个人>配置并更改保存在那里的电子邮件。 - nullromo
2个回答

2

Jenkins从与提交相关的作者那里读取提交数据,您可以使用以下命令查看这些数据:

git log

这将显示每个提交的内容。
Author: Author Name <you@example.com>

您可以修改现有提交的作者
git commit --amend --author="Author Name <you@example.com>"

设置机器的默认作者电子邮件
git config --global user.email "you@example.com"

你可以在本地将其设置为当前所在的存储库

git config user.email "you@example.com"

所以这是我第一次尝试解决问题时尝试的相同策略。我检查了user.config,并将其更改为反映当前的电子邮件地址。但是在做了这个之后,我仍然看到Jenkins报告发送电子邮件到旧地址。 - Roger Hill
1
邮件是由于构建失败而发送的吗?因为如果Jenkins认为“是导致构建失败的原因”,如果自上次失败构建以来构建未通过,则仍可能将提交归咎于旧地址。 - Peter Reid
您在email-ext中选择了哪个“收件人”选项? - Peter Reid
我在一两周前更新了我的电子邮件地址,自那以后已经运行了数十个成功的构建。此外,Jenkins服务器已经重新启动,因此很少有东西被缓存。 - Roger Hill
感谢所有的建议。我正在确保我看到的旧电子邮件消息不是来自于电子邮件更新之前的签入。 - Roger Hill
显示剩余2条评论

1

电子邮件扩展插件

开发人员

添加此收件人提供程序,以向在上一次构建中检入代码的任何人发送电子邮件。该插件将根据提交者的ID和“配置系统”页面中的扩展电子邮件通知部分中附加的默认用户电子邮件后缀生成电子邮件地址。例如,如果更改由ID为first.last的某个人提交,并且默认用户电子邮件后缀为@example.com,则将发送电子邮件至first.last@example.com。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接