Ajouter des extensions dans un formulaire d’élément de travail par le biais d’une définition de type d’élément de travail xml

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Vous pouvez exporter un type d’élément de travail en tant que xml à l’aide de l’outil witadmin , qui inclut la disposition du formulaire d’élément de travail. Dans le cadre de cet exemple, nous ajoutons la page, le groupe et les contributions de contrôle à la disposition. Nous ajoutons également le contrôle au type d’élément de travail Agile « User Story ». Pour plus d’informations, consultez la référence xml WebLayout.

Remarque

La personnalisation du formulaire d’élément de travail via xml est prise en charge uniquement sur Azure DevOps Server, et non sur Azure DevOps Services.

Ajouter une extension dans le formulaire d’élément de travail

  1. Installez les extensions de formulaire d’élément de travail dans Azure DevOps Server.

  2. Ouvrez le fichier Developer Command Prompt. Exportez le fichier xml sur votre bureau avec la commande suivante.

    witadmin exportwitd /collection:CollectionURL /p:Project /n:TypeName /f:FileName
    

    Un fichier est créé dans le répertoire que vous avez spécifié.

  3. Dans ce fichier, accédez à la section WebLayout . Dans la section WebLayout, un objet blob de commentaires spécifie les formulaires d’éléments de travail cibles des extensions pour votre collection. Pour chaque extension, toutes ses contributions de formulaire sont répertoriées avec leurs ID et entrées (s’il s’agit d’une contribution de contrôle). Dans l’exemple suivant, le commentaire montre l’extension color-control-dev installée sur la collection. L’extension a une contribution de contrôle qui accepte deux entrées.

         <!--**********************************Work Item Extensions***************************
    
     Extension:
         Name: color-control-dev
         Id: example.color-control-dev
    
         Control contribution:
             Id: example.color-control-dev.color-control-contribution
             Description:
             Inputs:
                 Id: FieldName
                 Description: The field associated with the control.
                 Type: Field
                 IsRequired: true
    
                 Id: Colors
                 Descriptions: The colors that match the values in the control.
                 Type: String
                 IsRequired: false
    
  4. Recherchez votre ID d’extension dans la section Extensions d’élément de travail :

         <!--**********************************Work Item Extensions*************************** 
    
     Extension:
         Name: color-control-dev
         Id: example.color-control-dev
         ...
    
  5. Ajoutez une balise d’extension sous la section Extensions d’élément de travail, comme suit, pour rendre votre extension disponible pour le formulaire d’élément de travail. Pour placer une contribution dans le formulaire, son extension doit être spécifiée dans la Extensions section.

         <!--**********************************Work Item Extensions***************************
         ...
    
         Note: For more information on work item extensions use the following topic:
         https://go.microsoft.com/fwlink/?LinkId=816513
         -->
    
         <Extensions>
             <Extension Id="example.color-control-dev" />
         </Extensions>
    
  6. La spécification des extensions dans le xml place automatiquement la page et les contributions de groupe définies dans les extensions dans le formulaire. Vous pouvez déplacer les contributions dans les exemples suivants.

Ajouter une contribution de page

    <Page Id="Details">
    <PageContribution Id="<page contribution id>" />
    ...       

Ajouter une contribution de groupe

    <Page Id="Details">
    ...
        <Section>
        ...
            <GroupContribution Id="<group contribution id>" />
            ...

Une contribution de page et une contribution de groupe ne peuvent pas prendre d’autres éléments de disposition.

Ajouter une contribution de contrôle

Contrairement aux contributions de page et de groupe , la spécification des extensions dans le xml ne place pas automatiquement les contributions de contrôle . Pour ajouter ces contributions dans le formulaire, ajoutez-les avec une balise de contribution dans le formulaire. L’exemple suivant ajoute ControlContribution au groupe Planification.

Si une contribution de contrôle a une entrée requise définie, les utilisateurs doivent donner une valeur à cette entrée. Pour toute entrée non requise, les utilisateurs peuvent décider s’il faut définir une valeur sur l’entrée. Dans l’exemple suivant, les entrées et Colors les FieldName entrées sont définies.

    <Page Id="Details">
    ...
        <Section>
        ...
            <Group Id="Planning">
            ...
                <ControlContribution Label="Priority" Id="example.color-control-dev.color-control-contribution">
                    <Inputs>
                        <Input Id="FieldName" Value="Microsoft.Azure DevOps Services.Common.Priority" />
                        <Input Id="Colors" Value="red;green" />
                    </Inputs>
                </ControlContribution>

                <Control Label="Risk" Type="FieldControl" FieldName="Microsoft.Azure DevOps Services.Common.Risk" />
  1. Importez ce fichier xml à l’aide witadminde .

    witadmin importwitd /collection:CollectionURL /p:Project /f:FileName

Votre extension est configurée via le formulaire d’élément de travail !