通过CruiseControl发送带有错误日志的电子邮件

时间:2022-04-14 18:16:31

How do you configure cruiseControl to send out emails that contains the error log whenever a build fails? I've gotten it to send out emails to users when the build fails, but it does not include the actual error that caused the build to fail. I know that if I only configure it to send out emails to the users that have made modifications, the error log is included in those emails. This is a sample of what I have:

当构建失败时,如何配置cruiseControl发送包含错误日志的电子邮件?我已经得到它在构建失败时向用户发送电子邮件,但它不包括导致构建失败的实际错误。我知道,如果我只将其配置为向已经修改的用户发送电子邮件,则错误日志将包含在这些电子邮件中。这是我的样本:

< publishers>
    < rss/>
    < xmllogger/>
    < email from="abc@abc.com" mailhost="abc.abc.com" includeDetails="TRUE">
     < users>
         < user name="Joe" group="devs" address="joe@abc.com"/>
         < user name="Jim" group="devs" address="jim@abc.com"/>
     < /users>
     < groups>
         < group name="devs" notification="Failed"/>
     < /groups>
     < /email>
< /publishers>

3 个解决方案

#1


2  

You can check if \cruisecontrol.net\server\xsl\compile.xsl is the same as \cruisecontrol.net\webdashboard\xsl\compile.xsl.

您可以检查\ cruisecontrol.net \ server \ xsl \ compile.xsl是否与\ cruisecontrol.net \ webdashboard \ xsl \ compile.xsl相同。

Compile.xsl is the default file used to print the error messages from your error log. The one in \webdashboard\ is used for the web dashboard (as the name implies) and the one under \server\ is used for emails.

Compile.xsl是用于从错误日志中打印错误消息的默认文件。 \ webdashboard \中的一个用于Web仪表板(顾名思义),\ server \下的一个用于电子邮件。

You can also check ccnet.exe.config whether or not \cruisecontrol.net\server\xsl\compile.xsl is used for emails.

您还可以检查ccnet.exe.config是否将\ cruisecontrol.net \ server \ xsl \ compile.xsl用于电子邮件。

Mine's for example points to compile.xsl on \server:

我的例如指向\ server上的compile.xsl:

<!-- Specifies the stylesheets that are used to transform the build results when using the EmailPublisher -->
<xslFiles>
    <file name="xsl\header.xsl" />
    <file name="xsl\compile.xsl" />
    <file name="xsl\unittests.xsl" />
    <file name="xsl\fit.xsl" />
    <file name="xsl\modifications.xsl" />
    <file name="xsl\fxcop-summary.xsl" />
</xslFiles>

#2


1  

Your email publisher will take the buildlog.xml and transorm it against whatever XSL's are configured either in your console or service config depending on which you use. There should be no difference in the content of the email though no matter on who you have it configured to be sent to and when. As long as you have the merge before the email publiseher and the email in the publishers section. I don't see how it could be different Are you sure the same failure produces different emails? My guess would be you are failing somewhere bad and the build log is not being genereted one way.

您的电子邮件发布者将使用buildlog.xml并根据您使用的控制台或服务配置中的任何XSL进行转换。电子邮件的内容应该没有区别,无论您将其配置为发送给谁以及何时发送。只要您在电子邮件发布者和发布商部分中的电子邮件之前进行合并即可。我不知道它有什么不同你确定同样的失败会产生不同的电子邮件吗?我的猜测是你在某个地方失败并且构建日志没有单向生成。

#3


0  

The build log is getting generated. I can see the error. It's just not included in the email.

生成日志正在生成。我可以看到错误。它只是没有包含在电子邮件中。

#1


2  

You can check if \cruisecontrol.net\server\xsl\compile.xsl is the same as \cruisecontrol.net\webdashboard\xsl\compile.xsl.

您可以检查\ cruisecontrol.net \ server \ xsl \ compile.xsl是否与\ cruisecontrol.net \ webdashboard \ xsl \ compile.xsl相同。

Compile.xsl is the default file used to print the error messages from your error log. The one in \webdashboard\ is used for the web dashboard (as the name implies) and the one under \server\ is used for emails.

Compile.xsl是用于从错误日志中打印错误消息的默认文件。 \ webdashboard \中的一个用于Web仪表板(顾名思义),\ server \下的一个用于电子邮件。

You can also check ccnet.exe.config whether or not \cruisecontrol.net\server\xsl\compile.xsl is used for emails.

您还可以检查ccnet.exe.config是否将\ cruisecontrol.net \ server \ xsl \ compile.xsl用于电子邮件。

Mine's for example points to compile.xsl on \server:

我的例如指向\ server上的compile.xsl:

<!-- Specifies the stylesheets that are used to transform the build results when using the EmailPublisher -->
<xslFiles>
    <file name="xsl\header.xsl" />
    <file name="xsl\compile.xsl" />
    <file name="xsl\unittests.xsl" />
    <file name="xsl\fit.xsl" />
    <file name="xsl\modifications.xsl" />
    <file name="xsl\fxcop-summary.xsl" />
</xslFiles>

#2


1  

Your email publisher will take the buildlog.xml and transorm it against whatever XSL's are configured either in your console or service config depending on which you use. There should be no difference in the content of the email though no matter on who you have it configured to be sent to and when. As long as you have the merge before the email publiseher and the email in the publishers section. I don't see how it could be different Are you sure the same failure produces different emails? My guess would be you are failing somewhere bad and the build log is not being genereted one way.

您的电子邮件发布者将使用buildlog.xml并根据您使用的控制台或服务配置中的任何XSL进行转换。电子邮件的内容应该没有区别,无论您将其配置为发送给谁以及何时发送。只要您在电子邮件发布者和发布商部分中的电子邮件之前进行合并即可。我不知道它有什么不同你确定同样的失败会产生不同的电子邮件吗?我的猜测是你在某个地方失败并且构建日志没有单向生成。

#3


0  

The build log is getting generated. I can see the error. It's just not included in the email.

生成日志正在生成。我可以看到错误。它只是没有包含在电子邮件中。