Бөлісу құралы:


Добавление расширений в форму рабочего элемента с помощью xml определения типа рабочего элемента

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

Тип рабочего элемента можно экспортировать в формате XML с помощью witadmin средства, включающего макет формы рабочего элемента. В этом примере мы добавим в макет вклады страницы, группы и управления. Мы также добавим элемент управления в тип рабочего элемента Agile "История пользователя". Дополнительные сведения см . в справочнике по XML WebLayout.

Примечание.

Настройка формы рабочего элемента с помощью XML поддерживается только в Azure DevOps Server, а не в Azure DevOps Services.

Добавление расширения в форме рабочего элемента

  1. Установите расширения формы рабочего элемента в Azure DevOps Server.

  2. Откройте Developer Command Prompt. Экспорт xml-файла на рабочий стол с помощью следующей команды.

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

    Файл создается в указанном каталоге.

  3. В этом файле перейдите в раздел WebLayout . В разделе WebLayout большой двоичный объект комментария указывает, какие установленные расширения предназначены для форм рабочих элементов для коллекции. Для каждого расширения все его вклады формы перечислены с их идентификаторами и входными данными (если это вклад элемента управления). В следующем примере комментарий показывает расширение color-control-dev , установленное в коллекции. Расширение имеет один элемент управления, который принимает два входных данных.

         <!--**********************************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. Найдите идентификатор расширения в разделе "Расширения рабочих элементов":

         <!--**********************************Work Item Extensions*************************** 
    
     Extension:
         Name: color-control-dev
         Id: example.color-control-dev
         ...
    
  5. Добавьте тег расширения под разделом "Расширения рабочих элементов", как показано ниже, чтобы сделать расширение доступным для формы рабочего элемента. Чтобы поместить вклад в форму, его расширение должно быть указано в Extensions разделе.

         <!--**********************************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. Указание расширений в XML автоматически помещает вклад страницы и группы , определенные в расширениях в форме. Вы можете переместить вклад в приведенные ниже примеры.

Добавление вклада страницы

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

Добавление вклада в группу

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

Вклад страницы и вклад группы не могут принимать другие элементы макета.

Добавление вклада элемента управления

В отличие от вкладов страниц и групп , указывая расширения в xml, не помещает автоматический вклад элементов управления . Чтобы добавить эти вклады в форму, добавьте их с тегом вклада внутри формы. В следующем примере элемент ControlContribution добавляется в группу планирования.

Если вклад элемента управления имеет необходимые входные данные, пользователи должны дать значение для этого ввода. Для любых не обязательных входных данных пользователи могут решить, следует ли задать для входных данных значение. В следующем примере FieldName получается набор входных данных Colors .

    <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. Импортируйте этот XML-файл с помощью witadmin.

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

Расширение настроено с помощью формы рабочего элемента!