Como posso desactivar a criação do item de trabalho no final de uma compilação Team Foundation falhou?

StackOverflow https://stackoverflow.com/questions/122154

  •  02-07-2019
  •  | 
  •  

Pergunta

Eu estou usando Team Foundation Build, mas ainda não estamos usando TFS para rastreamento de problemas, então eu gostaria de desativar a criação de item de trabalho em uma compilação falhou. Há alguma maneira de fazer isso? Eu tentei comentar a informação de item de trabalho no arquivo TFSBuild.proj para o tipo de compilação, mas que não fazer o truque.

Foi útil?

Solução

Tente adicionar este dentro do PropertyGroup em sua TFSBuild.proj:

<SkipWorkItemCreation>true</SkipWorkItemCreation>

Se você está curioso para saber como isso funciona, Microsoft.TeamFoundation.Build.targets contians o seguinte:

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

Você pode substituir qualquer um dos essa funcionalidade em seu próprio script de construção, mas a Microsoft fornecer a condição SkipWorkItemCreation acessível no topo, que você pode usar para cancelar a execução de todo o alvo.

Outras dicas

Se você estiver usando tfs2010 ou acima, você pode fazer isso na própria definição de compilação.

No guia Processo de definição de compilação definir a propriedade Create Work Item on failure para false (na seção Avançado)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top