CruiseControl.NET电子邮件发布者问题

Igo*_*ejc 5 cruisecontrol.net

我想将ccnet设置为:

  1. 每次构建后发送邮件给提交者(无论状态如何)
  2. 在构建中断或修复时向所有其他开发人员发送邮件

随着CCNet的每个新版本,电子邮件发布者都会被重构(并且据称有所改进),但我仍然遇到同样的问题:只有提交者得到通知 - 如果构建中断,其他开发人员不会收到电子邮件消息.所以要么我没有得到系统,要么电子邮件发布者有一个长期未修复的错误.

我正在使用v1.4.4.83.我的示例配置(我删除了无关的东西):

<email 
    includeDetails="true">
    <users>
        <user name="user1" address="user1@mail.com" group="developers" /> 
        <user name="user2" address="user2@mail.com" group="developers" /> 
    </users>
    <groups>
            <group name="developers">
                <notifications>
                    <notificationType>Failed</notificationType>
                    <notificationType>Fixed</notificationType>
                </notifications>
            </group>
    </groups>
    <modifierNotificationTypes>
        <NotificationType>Always</NotificationType>
    </modifierNotificationTypes>
</email>            
Run Code Online (Sandbox Code Playgroud)

Dav*_*ght 3

我相信这符合您的要求(诚然,在您提出问题一年后)。

注意:我们使用带有块的 SVN <svn>。在 CC.NET 1.4.xx 中,<email>块支持正则表达式来根据 SVN 用户名计算出电子邮件地址。它应该与其他源代码控制块一起使用,但我除了 SVN 之外没有使用任何东西。

我们的<publishers>块中有类似以下内容的内容(我已对其进行修改以符合您的规范):

<email ... includeDetails="true">
  <!-- Developers get an email whenever the build status changes -->
  <users>
    <user name="Dev1" group="developer" address="dev1@ourcompany.com" />
    <user name="Dev2" group="developer" address="dev2@ourcompany.com" />
  </users>
  <groups>
    <group name="developer" notification="change" />
  </groups>

  <!-- Committers get an email for every build they commit code for -->
  <converters>
    <regexConverter find="$" replace="@ourcompany.com" />
  </converters>
  <modifierNotificationTypes>
    <NotificationType>always</NotificationType>
  </modifierNotificationTypes>
</email>
Run Code Online (Sandbox Code Playgroud)

因此,只要构建状态发生变化,dev1@ourcompany.com 和 dev2@ourcompany.com 就会收到一封电子邮件,而 [svnuser]@ourcompany.com 将在他们提交代码的构建完成构建时收到一封电子邮件。

注意:如果构建失败,自上次成功以来已提交代码的 svn 用户将在每次构建完成时继续收到更多电子邮件,直到构建修复为止。