Build completion alerts does not show static analysis warnings in TFS 2012

Problem description:

While working on an issue recently, we found that build completion alerts does not show static analysis warnings.

Explanation:

There is a difference between compilation warnings and static analysis warnings.

When the build gets completely, in UI, it will show you both type of warnings combined like below:

Solution and troubleshooting Steps:

 So on the above result basis, when you configure buildcompletionevent alerts, you will expect that it should show the same warning.

But what we found in email alert was 19 errors and 0 warnings and that’s where catch was and it had to be diagnosed thoroughly as provided below:

Step 1:

So first tbl_buildinformation table was queried and it was having this xml:

<Fields><Field Name="CompilationErrors"><Value>19</Value></Field>

<Field Name="CompilationWarnings"><Value>0</Value></Field>

<Field Name="FinishTime"><Value>2014-04-17T14:59:19.7013138Z</Value></Field>

<Field Name="Flavor"><Value>Release</Value></Field>

<Field Name="LocalPath"><Value>C:\Builds\AgentBuild\abc.sln</Value></Field>

<Field Name="Platform"><Value>Any CPU</Value></Field>

<Field Name="ServerPath"><Value>$/abc/abc.sln</Value></Field>

<Field Name="StartTime"><Value>2014-04-17T14:59:03.9802421Z</Value></Field>

<Field Name="StaticAnalysisErrors"><Value>0</Value></Field>

<Field Name="StaticAnalysisWarnings"><Value>123</Value></Field>

<Field Name="TargetNames"><Value/></Field></Fields>

Step 2:

 Then looking at BuildCompletedEvent.xsl, led us to find following lines:

         
<xsl:value-of select="tb:Fields/tb:InformationField[@Name = 'TotalCompilationErrors']/@Value"/> error(s),

          
<xsl:value-of select="tb:Fields/tb:InformationField[@Name = 'TotalCompilationWarnings']/@Value"/> compilation warnings(s),

 Add digging deep into that led us to find one more line in it:

 <xsl:value-of select="tb:Fields/tb:InformationField[@Name = 'TotalStaticAnalysisWarnings']/@Value"/> static analysis warning(s)

 After that you will have alerts with both type of warnings separately visible like below, hence issue solved!!

 

Written by: Deepak Mittal, Support Escalation Engineer

  Reviewed by: George Archer(Senior Escalation Engineer), Nitish Nagpal(Support Escalation Engineer)