我想将ccnet设置为:
对于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>
答案 0 :(得分: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>
因此,dev1 @ourcompany.com和dev2@ourcompany.com会在构建状态发生变化时收到电子邮件,[svnuser] @ ourcompany.com会在他们为完成构建而提交代码的构建时收到电子邮件。
注意:如果构建失败,那么自上次成功以来已经提交代码的svn用户将在每次构建完成时继续获取更多电子邮件,直到构建得到修复。
答案 1 :(得分:1)
我认为这样做你想要的......我们正在运行版本1.4.3,所以YMMV。 Devs只有在固定/失败状态发生变化时才会收到电子邮件,而PM会在每次构建时收到电子邮件。
<groups>
<group name="Always">
<name>Always</name>
<notification>Always</notification>
</group>
<group name="developers">
<name>developers</name>
<notification>Change</notification>
</group>
</groups>
<users>
<user name="dev1">
<address>...</address>
<group>developers</group>
<name>...</name>
</user>
<user name="pm1">
<address>...</address>
<group>Always</group>
<name>...</name>
</user>
<user name="dev2">
<address>...</address>
<group>developers</group>
<name>...</name>
</user>
<user name="dev3">
<address>...</address>
<group>developers</group>
<name>...</name>
</user>
</users>
答案 2 :(得分:0)
<email from="CruiseControlBuild@xxxxxxxx.com" mailhost="xxxxxxxx.com" includeDetails="True">
<users>
<user name="Dev Staff" group="group1" address="xxxxxxxxxxx"/>
<user name="QA Staff" group="group1" address="xxxxxxxxxxx"/>
</users>
<groups>
<group name="group1" notification="always"/>
</groups>
<modifierNotificationTypes>
<NotificationType>Always</NotificationType>
</modifierNotificationTypes>
</email>
这有效,但要小心。向每个开发人员发送连续系统中每个构建的电子邮件,都要求忽略您的电子邮件。我发给每个人的唯一电子邮件是夜间安装程序构建。