Как я могу отключить создание рабочих элементов в конце неудачной сборки Team Foundation?

Я использую Team Foundation Build, но мы пока не используем TFS для отслеживания проблем, поэтому я хотел бы отключить создание рабочего элемента при неудачной сборке. Есть какой-либо способ сделать это? Я попытался комментировать информацию о рабочем элементе в файле TFSBuild.proj для типа сборки, но это не помогло.

Ответы

Ответ 1

Попробуйте добавить это внутри PropertyGroup в свой TFSBuild.proj:

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

Вы можете переопределить любую из этих функций в своей собственной версии script, но Microsoft предоставляет удобное условие SkipWorkItemCreation вверху, которое вы можете использовать для отмены выполнения всей цели.