Ldap CCNetModifyingUsers<;用户>;CCNET 1.6到1.8升级后的值变化

Ldap CCNetModifyingUsers<;用户>;CCNET 1.6到1.8升级后的值变化,ldap,cruisecontrol.net,ccnet-config,Ldap,Cruisecontrol.net,Ccnet Config,在将我们的一个构建服务器升级到最新版本的CCNET后,它停止向modifiers group发送电子邮件。我们使用Mercurial进行源代码管理,版本2.3.2安装在构建服务器上 buildmasters组仍会收到电子邮件,但不会收到修改器: <email mailport="25" includeDetails="true" useSSL="false"> <from>buildslave8@company.com</from>

在将我们的一个构建服务器升级到最新版本的CCNET后,它停止向modifiers group发送电子邮件。我们使用Mercurial进行源代码管理,版本2.3.2安装在构建服务器上

buildmasters组仍会收到电子邮件,但不会收到修改器:

<email mailport="25" includeDetails="true" useSSL="false">
            <from>buildslave8@company.com</from>
            <mailhost>###.###.##.###</mailhost>
            <users>
                <user name="Name" group="buildmasters" address="name@company.com"/>
            </users>
            <groups>
                <group name="buildmasters">
                    <notifications>
                        <NotificationType>Always</NotificationType>
                    </notifications>
                </group>
            </groups>
            <converters>
                <regexConverter find="$" replace="@company.com" />
            </converters>
            <modifierNotificationTypes>
                <NotificationType>Always</NotificationType>
            </modifierNotificationTypes>
            <subjectSettings>
                <subject buildResult="Success" value="Build Status - SUCCESSFUL - ${CCNetProject} - ${CCNetLabel}" />
                <subject buildResult="Fixed" value="Build Status - HAS BEEN FIXED - ${CCNetProject} - ${CCNetLabel}" />
                <subject buildResult="StillBroken" value="Build Status - FAILED - ${CCNetProject}" />
                <subject buildResult="Broken" value="Build Status - FAILED - ${CCNetProject}" />
                <subject buildResult="Exception" value="Build Status - SERVER EXCEPTION - ${CCNetProject} - a serious error has occurred" />
            </subjectSettings>
            <attachments></attachments>

buildslave8@company.com
###.###.##.###
总是
总是

在翻阅构建日志后,我注意到
下的
值发生了如下变化:

从(CCNET 1.6)开始:


...
炫耀
炫耀
...
至(CCNET 1.8):


...
最后一个
最后一个
...
不确定如何填充
下的
值或如何修复它

更新#1:我正在尝试查看将
更改为ldapConverter是否能解决我的问题

更新#2:仍在试图搞乱ldapConverter:

<ldapConverter domainName="Name.corp" ldapLogOnUser="name" ldapLogOnPassword="pswd" />

此版本引发异常和异常:

EmailPublisher异常:System.FormatException:指定的字符串不是电子邮件地址所需的格式。 位于System.Net.Mime.MailBnfHelper.ReadMailAddress(字符串数据、Int32和偏移量、字符串和显示名称) 位于System.Net.Mail.MailAddressCollection.ParseValue(字符串地址) 位于ThoughtWorks.CruiseControl.Core.Publishers.EmailPublisher.GetMailMessage(字符串发件人、字符串收件人、字符串回复收件人、字符串主题、字符串消息文本、字符串工作文件夹、字符串[]附件) 位于ThoughtWorks.CruiseControl.Core.Publishers.EmailPublisher.SendMessage(字符串发件人、字符串收件人、字符串回复收件人、字符串主题、字符串消息、字符串工作文件夹)

而这:

<ldapConverter domainName="Name.corp" ldapLogOnUser="name" ldapLogOnPassword="pswd" ldapQueryField="userPrincipalName"/>

成功生成,但不向修改器发送电子邮件

更新#3:

我已实施了以下临时修复:

<converters>
   <regexConverter find="(?!^.?).(?!.{0}$).* " replace="" />
   <regexConverter find="$" replace="@company.com" />
</converters>

但不包括以下情况:

  • 人们的Mercurial
    用户名
    与其电子邮件地址的名称不匹配
  • 有两个(三个?)名字或姓氏的人
更新#4:


我必须检查源代码,看看我是否能准确地找到问题的原因。。。可能需要继续维护本地的it构建。

我在2013年11月处理过这个问题。我必须安装CCNET源代码并修改EmailLDAPConverter.cs。Convert方法使用SSAMAccountName Active Directory属性创建搜索筛选器。这将失败。我最终在Active Directory的“displayName”属性上进行了筛选

<ldapConverter domainName="Name.corp" ldapLogOnUser="name" ldapLogOnPassword="pswd" ldapQueryField="userPrincipalName"/>
<converters>
   <regexConverter find="(?!^.?).(?!.{0}$).* " replace="" />
   <regexConverter find="$" replace="@company.com" />
</converters>