我看到jenkins发送一些奇怪的东西并发送邮件。对于某些用户,邮件会发送到DOMAIN_username@company.com - 有些用户没问题。
Jenkins正在使用AD进行身份验证 - 大多数用户实际上还没有登录jenkins,用户名来自svn。 我的svn服务器是使用sspi进行身份验证的windows2008服务器:
# authentication
AuthName "Subversion Authentication"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain COMPANY
SSPIOfferBasic On
Require valid-user
最好看的地方是http://jenkins/job/job-name/1234/api/json
,看看罪犯
"culprits":[
{"absoluteUrl":"http://jenkins/user/DOMAIN_asmith","fullName":"DOMAIN_asmith"},
{"absoluteUrl":"http://jenkins/user/DOMAIN_bobama","fullName":"DOMAIN\\bobama"}
]
对于bobama来说,事情很好,但请注意asmith - 电子邮件将发送到DOMAIN_asmith@company.com(不会发送)
如果我查看用户配置页面http://jenkins/user/DOMAIN_asmith/configure
我看到他的电子邮件实际上列为DOMAIN_asmith@company.com,bobama看起来很好。
这些值不是来自用户(也没有登录过jenkins) - 它们是通过SVN来自AD的。 我被困 - 有人指出我的方向更好吗?
答案 0 :(得分:3)
以下是一些想法:
如果您更改为asmith是最后一个提交者的目录,那么svn info .
LastChanged作者会说什么? “DOMAIN \ asmith”或其他什么?它对bobama说了什么?
如果进入Jenkins的信息对所有用户来说都是完全相同的,那么差异必须在Jenkins内部。我一直在查看MailAddressResolver的来源,它只是一个调用其他resolvers的调度类。但是,我不确定在您的配置中调用了哪一个。如果没有任何解析器成功,有后备方案试图猜测正确的电子邮件。一个看起来非常有趣的是'MailAddressResolver problems with SVN & SSPI authentication'。这实际上应该用'DOMAIN \ user@company.com'替换'DOMAIN_user@company.com'
我注意到登录Jenkins的来源。如果日志在邮件地址解析期间尚未指出问题,则可以在Web界面中add more loggers。
在浏览错误报告时,我注意到'E-mail to individuals who broke the build is sent to wrong address'。这听起来很像你遇到的问题。而且未解决。
一次向所有方向搜索时,我发现了RegEx Email Plugin。它允许您使用正则表达式从用户名生成用户电子邮件地址。也许你可以用这个扭转Jenkins的手臂以获得你需要的邮件格式。
答案 1 :(得分:1)
我为此目的创建了Additional Identities plugin。只有解决方法才能找到更好的解决方案,但可以提供帮助。
答案 2 :(得分:0)
我越来越多地认为这是svn / sspi的关联
我想在Linux上安装svn并且根本不处理windows ...我想我可以添加 “SSPIOmitDomain On”到我的conf文件然后根本没有域,但这是次优的,因为我想要转储所有存储库以使用户名匹配。