如何在失败的Team Foundation Build结束时禁用工作项创建?

Luk*_*uke 13 msbuild tfs tfsbuild

我正在使用Team Foundation Build,但我们尚未使用TFS进行问题跟踪,因此我想在失败的构建中禁用工作项创建.有没有办法做到这一点?我尝试在TFSBuild.proj文件中注释掉构建类型的工作项信息但是没有做到这一点.

Tim*_*ker 23

尝试在TFSBuild.proj中的PropertyGroup中添加:

<SkipWorkItemCreation>true</SkipWorkItemCreation>
Run Code Online (Sandbox Code Playgroud)

如果您对如何工作感到好奇,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>
Run Code Online (Sandbox Code Playgroud)

您可以在自己的构建脚本中覆盖任何此功能,但Microsoft在顶部提供了方便的SkipWorkItemCreation条件,您可以使用该条件取消整个目标的执行.