13

Team Foundation ビルドを使用していますが、問題の追跡にまだ TFS を使用していないため、失敗したビルドでの作業項目の作成を無効にしたいと考えています。これを行う方法はありますか?ビルド タイプの TFSBuild.proj ファイルの作業項目情報をコメント アウトしようとしましたが、うまくいきませんでした。

4

2 に答える 2

23

TFSBuild.proj の PropertyGroup 内にこれを追加してみてください。

<SkipWorkItemCreation>true</SkipWorkItemCreation>

これがどのように機能するかについて興味がある場合は、Microsoft.TeamFoundation.Build.targets に次の内容が含まれています。

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

独自のビルド スクリプトでこの機能をオーバーライドできますが、Microsoft は上部に便利な SkipWorkItemCreation 条件を提供しており、これを使用してターゲット全体の実行をキャンセルできます。

于 2008-09-23T18:03:02.517 に答える