我是一家公司的实习生,希望为我的实习生建立一个 CI 环境。对于电子邮件,他们希望使用 SSL 身份验证,事实证明这在 Jenkins 中实现起来过于困难和麻烦。因此,为了缓解这个问题,我有一些替代解决方案:
- 使用 Gmail。这确实有效,现在被视为最后的手段,因为他们确实不希望 Jenkins 发送的电子邮件通过 Google 服务器(即使电子邮件包含指向网络外任何人都无法访问的本地服务器的链接)里>
- 使用不带 SSL 的 Jenkins。这是不可取的。
- 编写一个程序,Ant 任务可以将其作为构建后操作执行,然后负责发送电子邮件。
最后一种方法理论上可以很好地工作,但我有一个问题。我需要获取最后提交日志的用户的用户名,以便他们在 Jenkins 完成构建后收到电子邮件(因为 Jenkins 每分钟都会检查 SVN 存储库中的更改)。如果我获得用户名(例如 rmo 或 hnr),则后缀每次都会相同(例如 @email.com)。
那么如何使用 ant 检索上次构建的提交开发人员?
如果您需要更多信息,请告诉我。
最佳答案
这是一个有效的问题,不知道为什么它被否决了。
看看 Email-ext plugin 。这是与 Jenkins 相关的插件。
它可以选择向“开发人员”(当前构建的最后一个提交者)和“罪魁祸首”(自上次成功构建以来的提交者)发送电子邮件。不幸的是,我还没有看到这些值在 Jenkins 中作为环境变量公开。
但是,它有一个选项可以将电子邮件内容保存到工作区。
您可以将以下内容添加到电子邮件内容中:
${CHANGES_SINCE_LAST_SUCCESS,reverse=true,format="",changesFormat="%a"}
上面的内容应该使用来自 SVN 的提交a作者填充电子邮件内容,然后将其保存到工作区中的文件中。
现在使用您想要的任何内容(Ant、shell 等)来读取该文件以获取电子邮件名称列表(需要您自己添加后缀),并发送您想要的任何其他电子邮件内容。
关于java - 获取最后提交者的用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29490648/