Team Foundation Build失败后,如何禁用工作项创建?
时间:2020-03-06 14:36:34 来源:igfitidea点击:
我正在使用Team Foundation Build,但是我们尚未使用TFS进行问题跟踪,因此我想在失败的构建上禁用工作项创建。有什么办法吗?我尝试注释掉TFSBuild.proj文件中的构建类型的工作项信息,但没有成功。
解决方案
尝试在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) <a href='file:///$(DropLocation)$(BuildNumber)\BuildLog.txt'>$(DropLocation)$(BuildNumber)\BuildLog.txt</a >.</BuildLogText> <ErrorWarningLogText Condition="!Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')"></ErrorWarningLogText> <ErrorWarningLogText Condition="Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')">$(ErrorWarningLogText) <a href='file:///$(DropLocation)$(BuildNumber)\ErrorsWarningsLog.txt'>$(DropLocation)$(BuildNumber)\ErrorsWarningsLog.txt</a >.</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条件,我们可以使用该条件来取消整个目标的执行。