Comment puis-je désactiver la création d'élément de travail à la fin d'un échec de la création de Team Foundation?
Question
J'utilise Team Foundation Build, mais nous n'utilisons pas encore TFS pour le suivi des problèmes. Je souhaite donc désactiver la création d'élément de travail en cas d'échec de la génération. Y a-t-il un moyen de faire ça? J'ai essayé de commenter les informations sur l'élément de travail dans le fichier TFSBuild.proj pour le type de construction, mais cela n'a pas fonctionné.
La solution
Essayez d'ajouter ceci à l'intérieur du PropertyGroup dans votre TFSBuild.proj:
<SkipWorkItemCreation>true</SkipWorkItemCreation>
Si vous êtes curieux de savoir comment cela fonctionne, Microsoft.TeamFoundation.Build.targets contient les éléments suivants:
<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>
Vous pouvez remplacer n'importe laquelle de ces fonctionnalités dans votre propre script de construction, mais Microsoft fournit la condition pratique SkipWorkItemCreation en haut, que vous pouvez utiliser pour annuler l'exécution de la cible entière.
Autres conseils
Si vous utilisez tfs2010 ou une version ultérieure, vous pouvez le faire dans la définition de construction elle-même.
Dans l'onglet Process de la définition de construction, définissez la propriété Créer un élément de travail en cas d'échec
sur false
(sous la section Avancé)