Partager via


CreateNewWorkItem, tâche

Mise à jour : novembre 2007

Par défaut, Team Foundation Build crée un élément de travail s'il détecte une erreur de compilation ou un échec d'analyse statique. La tâche CreateNewWorkItem crée un élément de travail du type spécifié et avec le titre et la description spécifiés. Le champ Microsoft.VSTS.Build.FoundIn a la valeur de la propriété BuildId, et toutes valeurs de champ personnalisé spécifiées dans la propriété WorkItemFieldValues sont définies comme spécifié.

Paramètres

Propriété

Description

TeamFoundationServerUrl

Spécifie l'URL Team Foundation Server. Par exemple, http://MonServeur:8080.

BuildNumber

Spécifie le numéro de build de Team Foundation Build.

BuildURI

Spécifie l'URI de build.

Description

Spécifie la description de l'élément de travail. La valeur par défaut de cette propriété est spécifiée dans le fichier TFSBuild.proj de la définition de build comme suit :

<!-- Description for the work item created on build failure -->
    <DescriptionText>This work item was created by Team Build on a build failure.</DescriptionText>

TeamProject

Spécifie le nom du projet d'équipe.

Title

Spécifie le titre de l'élément de travail.

WorkItemFieldValues

Spécifie une liste de noms de champs et de valeurs pour l'élément de travail créé.

Spécifiez ces valeurs comme une liste de noms séparés par points-virgules, de paires de valeurs. Par exemple, si vous souhaitez définir une priorité égale à 1, une gravité égale à 2 et un rang égal à 0, définissez la propriété MSBuild comme suit dans le code XML indiqué ci-après :

<PropertyGroup>
<WorkItemFieldValues>
   priority =1; severity=2; rank =0
</WorkItemFieldValues>
</PropertyGroup>

WorkItemType

Spécifie le type d'élément de travail. Par exemple, "Bogue".

Il doit être un type d'élément de travail valide. Si cette propriété n'est pas définie, le type d'élément de travail par défaut est Bogue.

Notes

La tâche CreateNewWorkItem est définie dans Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll. Le fichier Microsoft.TeamFoundation.Build.targets contient une instance de la tâche CreateNewWorkItem que Team Foundation Build utilise comme implémentation par défaut pour la cible CreateWorkItem. Vous pouvez également personnaliser le processus de génération en définissant une autre instance de la tâche CreateNewWorkItem pour une définition de build dans le fichier TFSBuild.proj.

Le dossier <racine>:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\TeamBuild sur l'ordinateur Team Foundation Build contient le fichier Microsoft.TeamFoundation.Build.targets.

Types d'éléments de travail valides

Chaque projet d'équipe est créé avec une méthodologie particulière. Dans Team Foundation, la méthodologie MSF for Agile Software Development définit les types d'éléments de travail Bogue, Qualité de Service, Risque, Scénario et Tâche. La méthodologie CMMI for Process Improvement définit les types d'éléments de travail Bogue, Demande de modification, Problème, Spécification, Révision, Risque, Scénario et Tâche. Vous pouvez également définir votre propre type d'élément de travail en personnalisant une définition de type d'élément de travail existante. Pour plus d'informations, consultez Personnalisation des types d'éléments de travail.

Un type d'élément de travail défini pour la tâche CreateNewWorkItem doit être valide pour l'intégration de la build et doit définir un champ FoundIn. Pour plus d'informations, consultez Ajout de champs d'intégration dans des types d'éléments de travail.

Comportement par défaut

Si vous laissez la propriété WorkItemType indéfinie, la tâche CreateNewWorkItem utilise le type d'élément de travail Bogue.

Notes sur la propriété WorkItemFieldValues

La propriété WorkItemFieldValues permet de spécifier les valeurs de champ de l'élément de travail comme une liste de noms séparés par des points-virgules, de paires de valeur. Si vous spécifiez un nom de champ qui n'existe pas, la paire <nom, valeur> est ignorée. Par exemple, si vous souhaitez affecter au champ de gravité la valeur 1, et que la gravité n'est pas définie dans le type d'élément de travail, l'entrée est ignorée.

Si l'élément de travail que vous définissez a des champs requis sans valeurs par défaut, vous devez fournir les valeurs dans la propriété WorkItemFieldValues. Par exemple, le type d'élément de travail Défaut a un champ obligatoire nommé Priority. Les valeurs de Priority sont 0, 1, 2 ou 3 et aucun paramètre par défaut n'est spécifié. La tâche échoue si vous spécifiez une valeur non valide pour un champ obligatoire. Par exemple, si vous définissez la Priorité sur 5, la tâche CreateNewWorkItem échoue.

Vous ne pouvez pas spécifier les champs CreatedBy et State de l'élément de travail. Le champ CreatedBy est en lecture seule. Il est défini par le modèle objet de suivi des éléments de travail. Le champ State ne peut pas être spécifié parce que le suivi des éléments de travail OM ne peut pas avoir plusieurs états de démarrage.

Exemple

L'exemple suivant définit la propriété WorkItemFieldValues dans le fichier TfsBuild.proj pour l'élément de travail créé à l'échec de la build.

<WorkItemFieldValues>Area Path=$(AreaPath);Iteration Path=$(IterationPath);Severity=1;Priority=0;Symptom=build break;Steps To Reproduce=Start the build using Team Build;Source=Development;How Found=Build Break;Assigned To=Jim Wilson</WorkItemFieldValues>

L'exemple suivant utilise la tâche CreateNewWorkItem dans le fichier TfsBuild.proj pour créer un élément de travail personnalisé à l'échec de la build.

<!-- Add the UsingTask to the top of the TFsBuild.proj file after the schema definition-->
<UsingTask TaskName="Microsoft.TeamFounadtion.Build.Tasks.CreateNewWorkItem"   AssemblyFile="$(TeamBuildRefPath)\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll" />
<!-- Add the following XML after the closing </ItemGroup>-->
<!-- and before the closing </Project>-->
</ItemGroup>
   <PropertyGroup>      <BuildNumber>BuildType_Date.1</BuildNumber>      <WorkItemFieldValues>Priority=1:Severity=2</WorkItemFieldValues>      <WorkItemType>Bug</WorkItemType>   </PropertyGroup>   <TargetName="CreateWorkItem">      <CreateNewWorkItem         BuildNumber="$(BuildNumber)"         BuildURi="$(BuildURI)"         Description="The CreateNewWorkItem task created this bug."         TeamProject"MyTeamProject"         TeamFoundationServerUrl="http://MyTFServer.8080"         Title="Bug in $(BuildNumber)"         WorkItemFieldValues="$(WorkItemFieldValues)"         WorkItemType="$(WorkItemType)" />   </Target>
</Project>

L'exemple suivant affiche l'instance par défaut de la tâche CreateNewWorkItem définie dans le fichier Microsoft.TeamFoundation.Build.targets.

<CreateNewWorkItem
    TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
    BuildUri="$(BuildURI)"
    BuildNumber="$(BuildNumber)"
    Description="$(WorkItemDescription)"
    TeamProject="$(TeamProject)"
    Title="$(WorkItemTitle)"
    WorkItemFieldValues="$(WorkItemFieldValues)"
    WorkItemType="$(WorkItemType)"
    ContinueOnError="true" />

Voir aussi

Tâches

Comment : personnaliser des numéros de build

Concepts

Présentation des fichiers de configuration de Team Foundation Build

Tâches de Team Foundation Build

Autres ressources

Personnalisation de Team Foundation Build

Cibles, tâches et propriétés de Team Foundation Build

Référence du schéma de type d'élément de travail