2008-09-23 8 views
13

Ich benutze Team Foundation Build, aber wir verwenden TFS noch nicht zur Problemverfolgung, daher möchte ich die Erstellung von Arbeitselementen bei einem fehlgeschlagenen Build deaktivieren. Gibt es eine Möglichkeit, dies zu tun? Ich habe versucht, die Work-Item-Informationen in der TFSBuild.proj-Datei für den Build-Typ zu kommentieren, aber das hat den Trick nicht gemacht.Wie kann ich die Erstellung von Arbeitselementen am Ende eines fehlgeschlagenen Team Foundation Builds deaktivieren?

Antwort

23

Versuchen das Hinzufügen dieser innerhalb des Property in Ihrem TFSBuild.proj:

<SkipWorkItemCreation>true</SkipWorkItemCreation> 

Wenn Sie neugierig sind, wie dies funktioniert, Microsoft.TeamFoundation.Build.targets contians folgendes:

<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> 

Sie können diese Funktionalität in Ihrem eigenen Buildskript außer Kraft setzen, aber Microsoft stellt oben die praktische SkipWorkItemCreation-Bedingung bereit, mit der Sie die Ausführung von th abbrechen können Das ganze Ziel.