2008-09-23 11 views
13

Estoy utilizando Team Foundation Build pero todavía no utilizamos TFS para el seguimiento de problemas, por lo que me gustaría deshabilitar la creación de elementos de trabajo en una compilación fallada. ¿Hay alguna manera de hacer esto? Traté de comentar la información de la pieza de trabajo en el archivo TFSBuild.proj para el tipo de compilación, pero eso no funcionó.¿Cómo puedo desactivar la creación de elementos de trabajo al final de una compilación falsa de Team Foundation?

Respuesta

23

Trate de añadir esta dentro de la PropertyGroup en su TFSBuild.proj:

<SkipWorkItemCreation>true</SkipWorkItemCreation> 

Si usted es curioso en cuanto a cómo funciona esto, Microsoft.TeamFoundation.Build.targets contians lo siguiente:

<Target Name="CoreCreateWorkItem" 
      Condition=" '$(SkipWorkItemCreation)'!='true' and '$(IsDesktopBuild)'!='true' " 
      DependsOnTargets="$(CoreCreateWorkItemDependsOn)"> 

    <PropertyGroup> 
     <WorkItemTitle>$(WorkItemTitle) $(BuildNumber)</WorkItemTitle> 
     <BuildLogText>$(BuildlogText) &lt;a href='file:///$(DropLocation)\$(BuildNumber)\BuildLog.txt'&gt;$(DropLocation)\$(BuildNumber)\BuildLog.txt&lt;/a &gt;.</BuildLogText> 
     <ErrorWarningLogText Condition="!Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')"></ErrorWarningLogText> 
     <ErrorWarningLogText Condition="Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')">$(ErrorWarningLogText) &lt;a href='file:///$(DropLocation)\$(BuildNumber)\ErrorsWarningsLog.txt'&gt;$(DropLocation)\$(BuildNumber)\ErrorsWarningsLog.txt&lt;/a &gt;.</ErrorWarningLogText> 
     <WorkItemDescription>$(DescriptionText) %3CBR%2F%3E $(BuildlogText) %3CBR%2F%3E $(ErrorWarningLogText)</WorkItemDescription> 
    </PropertyGroup> 

    <CreateNewWorkItem 
      TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
      BuildUri="$(BuildUri)" 
      BuildNumber="$(BuildNumber)" 
      Description="$(WorkItemDescription)" 
      TeamProject="$(TeamProject)" 
      Title="$(WorkItemTitle)" 
      WorkItemFieldValues="$(WorkItemFieldValues)" 
      WorkItemType="$(WorkItemType)" 
      ContinueOnError="true" /> 

    </Target> 

Puede anular cualquiera de estas funciones en su propia secuencia de comandos de compilación, pero Microsoft proporciona la práctica condición SkipWorkItemCreation en la parte superior, que puede usar para cancelar la ejecución de th e objetivo completo

Cuestiones relacionadas