Поделиться через


Добавление или изменение поля для отслеживания работы

Azure DevOps Server | Azure DevOps Server 2022

Проект включает в себя 100 или более полей данных в зависимости от процесса, используемого для его создания, таких как Agile, Basic, Scrum или CMMI. Каждый рабочий элемент привязан к типу рабочего элемента (WIT), а данные, которые можно отслеживать, соответствуют полям, назначенным этому WIT. Вы можете обновить данные рабочего элемента, изменив поле данных в рабочем элементе.

Примечание.

Если вы используете модель наследуемого процесса, см. раздел "Добавление настраиваемого поля в тип рабочего элемента".

Можно изменить существующие поля или добавить настраиваемые поля для отслеживания дополнительных данных. Например, можно настроить список выбора в раскрывающемся меню, задать значение по умолчанию или ограничить значения, которые может принять поле.

Списки выбора определяются различными способами, например с помощью пользовательского интерфейса, рабочих процессов WIT или добавления учетных записей пользователей в проект, как показано в следующей таблице.

Определение WIT Изменение командной строки (локальный xml-процесс)
- Настройка списка выбора
- Добавление правил в поле
- Добавление настраиваемого поля
- Изменение метки поля в форме
- Добавление пользовательского элемента управления
- Список полей
- Изменение атрибута поля
- Удаление поля
- Индексирование поля

Предварительные условия

Категория Требования
Список полей Укажите разрешение на просмотр сведений на уровне проекта для проекта в наборе коллекций, в которых задано значение Allow.
Добавление или настройка поля Будьте членом группы "Администраторы проектов" или укажите разрешение на изменение сведений на уровне проекта в значение Allow.
Удаление, переименование или изменение поля Быть членом группы безопасности администраторов Team Foundation или группы безопасности администраторов коллекции проектов .

Чтобы добавить его в качестве администратора, измените разрешения на уровне коллекции проекта.

Методы, с помощью которых добавляются поля рабочих элементов

Поля рабочих элементов отслеживают данные для типа рабочего элемента, определяют критерии фильтра запросов и создают отчеты. Любой элемент данных, который требуется отслеживать, за исключением системных полей, должен быть определен как поле рабочего элемента. Можно определить поля в типе рабочего элемента (WIT) или глобальном определении рабочего процесса.

Поля рабочих элементов поддерживаются на уровне коллекции проектов и добавляются в следующих сценариях:

  • Создание проекта: создаются поля, определенные в выбранном шаблоне процесса для WIT или глобальных рабочих процессов. Основные системные поля автоматически включаются для каждого типа рабочего элемента. Список основных системных полей см. в разделе "Индекс поля рабочего элемента". Дополнительные сведения о шаблонах см. в разделе "Шаблоны процессов".
  • Импорт определения WIT: новые поля, определенные в определении WIT, добавляются в коллекцию. Дополнительные сведения см. в справочнике по всем ЭЛЕМЕНТАМ XML WITD.
  • Импорт определения глобального рабочего процесса: новые поля, определенные в глобальном рабочем процессе, добавляются в коллекцию. Глобальные рабочие процессы позволяют использовать общие поля для нескольких типов рабочих элементов. Дополнительные сведения см. в статье "Настройка глобального рабочего процесса ".

Полный набор полей в коллекции включает все поля, определенные в WIT и глобальных рабочих процессах во всех проектах. Вы можете изменить атрибуты, переименовать или удалить поля, но эти изменения могут повлиять на локальные серверы и отчеты.

Чтобы добавить или настроить поле, измените XML-содержимое определения WIT. Определите каждое поле с помощью элемента FIELD в разделе FIELDS . Дополнительные сведения см. в справочнике по всем ЭЛЕМЕНТАМ XML FIELD.

Добавление поля, применение правила или изменение атрибута

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

Чтобы изменить атрибут поля или переименовать поле, используйте средство командной строки witadmin . В противном случае, чтобы изменить поле, необходимо добавить или изменить правила, связанные с полем в определении WIT.

Снимок экрана: сводка атрибутов полей и правил полей.

Изменение файла определения WIT

Чтобы добавить правила или добавить настраиваемое поле, экспортировать, изменить и импортировать файл определения WIT.

Совет

С помощью witadmin можно импортировать и экспортировать файлы определений. Другие средства, которые можно использовать, включают редактор процессов (требуется, чтобы вы установили версию Visual Studio). Установите редактор шаблона процесса из Visual Studio Marketplace.

Чтобы отслеживать данные, добавьте поле в файл определения WIT, за исключением системных полей, у которых имя ссылки начинается с System.. Системные поля автоматически определяются для всех WIT, даже если они не включены в определение WIT. Дополнительные сведения см. в разделе "Индекс поля рабочего элемента".

Добавить флажок или логическое поле

Используйте следующий синтаксис, чтобы добавить логическое поле в разделе FIELDS определения WIT.

<FIELD name="Triage" refname="Fabrikam.Triage" type="Boolean" >
   <DEFAULT from="value" value="False" />
   <HELPTEXT>Triage work item</HELPTEXT>
</FIELD>

Затем добавьте следующий синтаксис в раздел FORM , чтобы поле отображалось в форме.

<Control Label="Triage" Type="FieldControl" FieldName="Fabrikam.Triage" />

Поле отображается как флажок в форме.

Настройка списка выбора

Списки выбора — это перечисление значений, отображаемых в раскрывающихся меню в формах рабочих элементов и в столбце "Значение " редактора запросов. Чтобы настроить список выбора для большинства строковых или целых полей, измените определение WIT. Например, используйте следующий XML-код для добавления настраиваемого поля разрешения со списком выбора.

Настраиваемое поле и список выбора
Снимок экрана: настраиваемый список выбора.

<FIELD name="Resolution" refname="MyCompany.Resolution" type="String">    
<ALLOWEDVALUES>
   <LISTITEM value="By Design" />
   <LISTITEM value="Duplicate" />
   <LISTITEM value="External" />
   <LISTITEM value="Fixed" />
   <LISTITEM value="Not Repro" />
   <LISTITEM value="Postponed" />
   <LISTITEM value="Won't Fix" />
</ALLOWEDVALUES>
</FIELD>

Правила позволяют объединять списки, ограничивать доступ к списку и задавать условия, когда список отображается в форме рабочего элемента. Атрибуты expanditems и filteritems можно использовать для управления отображением членов списка рассылки или фильтрации определенных элементов.

Чтобы упростить обслуживание, используйте глобальные списки для общих списков между WIT или проектами. Глобальные списки сокращают усилия, необходимые для обновления общих списков. Если части списка должны отличаться между WIT или проектами, можно определить глобальный список для определенных частей списка выбора. Дополнительные сведения см. в разделе "Определение списков выбора " и "Определение глобальных списков".

Добавление правил в поле

Чтобы добавить настраиваемое поле или применить правила к полю, измените определение WIT. Правила можно ограничить определенными пользователями или группами, используя атрибуты for или not чтобы определить, к кому применяется или исключается правило.

Например, следующий фрагмент кода применяет правило, согласно которому только члены специально определенной группы "Управленческая команда" могут изменять поле "Ранжирование стека" после создания рабочего элемента.

<FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
   <FROZEN not="[project]\Management Team" />  
   <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.</HELPTEXT>
</FIELD>  

Правила можно применить к полям, чтобы выполнить следующие действия:

Действие XML-элемент
Добавьте подсказку в поле. HELPTEXT
Определение или ограничение значений, которые может иметь поле. NOTLOSEVALUE, ПУСТОЙ, ЗАМОРОЖЕННЫЙ, NOTSAMEAS, READONLY, ОБЯЗАТЕЛЬНЫЙ
Скопируйте значение или задайте значение по умолчанию для поля. COPY, DEFAULT, SERVERDEFAULT
Ограничение того, кто может изменить поле. VALIDUSER, для, а не
Обеспечение соответствия шаблонам для полей строк. МАТЧ
Применяйте правила условно, основываясь на значениях других полей. WHEN, WHENNOT, WHENCHANGED, WHENNOTCHANGED

Системные поля, определяемые префиксом System, например System.ID, разрешают ограниченную настройку правила. Например, нельзя копировать или очищать поля, отслеживающие, кто создал, изменил или закрыл рабочий элемент, или поля даты и времени, управляемые системой.

Дополнительные сведения о правилах и ограничениях полей см. в разделе "Правила" и "Оценка правил".

Добавление настраиваемого поля

Чтобы добавить настраиваемое поле, измените определение WIT, чтобы добавить элемент FIELD в разделе FIELDS и элемент Control в разделе FORM .

  1. Экспортируйте файл определения WIT на основе используемой модели процесса.

  2. Найдите раздел XML-файла, который начинается с FIELDS.

  3. FIELD Добавьте элемент, указывающий имя добавляемого настраиваемого поля. Необходимо указать следующие обязательные атрибуты: дружественный name, refname (имя ссылки) и type. Для получения дополнительной информации см. справочник по элементу FIELD (Definition).

    Следующий код задает настраиваемое поле, Requestor, с именем ссылки FabrikamFiber.MyTeam.Requestor и списком выбора допустимых значений со значением по умолчанию Customer.

    <FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension">
       <ALLOWEDVALUES>
          <LISTITEM value="Customer" />
          <LISTITEM value="Executive Management" />
          <LISTITEM value="Other" />
          <LISTITEM value="Support" />
          <LISTITEM value="Team" />
          <LISTITEM value="Technicians" />
          <DEFAULTVALUE value="Customer" />
        </ALLOWEDVALUES>
    </FIELD>
    

    Совет

    Элементы в списке всегда отображаются в буквенно-цифровом порядке независимо от того, как их ввести в XML-файле определения. Имя ссылки или refname— это программное имя поля. Все остальные правила должны ссылаться на refname. Дополнительные сведения см. в разделе об ограничениях именования и соглашениях.

  4. Добавьте элемент Control в раздел FORM, чтобы настраиваемое поле появлялось на форме в той группе элементов, где вы хотите его видеть.

    Например, следующий фрагмент кода добавляет поле "Запросчик", чтобы оно отображалось под полем "Причина" в форме элемента задания.

    <Column PercentWidth="50">
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
             <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" />
          </Column>
       </Group>
    </Column>
    

    Совет

    В определении схемы для отслеживания работы все дочерние элементы FORM элемента должны использовать стиль camel case, а все остальные элементы должны писаться заглавными буквами. Убедитесь, что структура регистра открытия и закрытия тегов соответствует правилам синтаксиса XML, чтобы избежать ошибок проверки. Для получения дополнительной информации см. справочник по элементам Control XML.

  5. Импортируйте файл определения WIT в соответствии с используемой моделью процесса.

  6. Откройте веб-портал или Team Explorer, чтобы просмотреть изменения. Если клиент уже открыт, обновите страницу.

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

    Снимок экрана: новое поле в форме.

Изменить название поля в форме рабочего элемента

Чтобы изменить метку поля, измените значение, назначенное атрибуту Control элемента Label . Чтобы удалить поле из формы рабочего элемента, удалите Control элемент, связанный с полем.

  1. Экспортируйте файл определения WIT в соответствии с моделью процесса.

  2. В разделах FORM и Layout найдите определение поля, которое нужно изменить. В этом примере метка для поля Title изменяется:

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. Измените метку поля, чтобы португальский филиал, работающий над этим проектом, смог прочитать имя поля Title при работе с формой рабочего элемента. Включите португальское слово для названия (Titulo) в поле Title.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. Импортируйте измененное определение WIT.

Добавление пользовательского элемента управления

С помощью интерфейсов REST API для отслеживания рабочих элементов можно программно создавать, обновлять и находить дефекты, задачи и другие типы рабочих элементов (WIT). Кроме того, можно создать пользовательские элементы управления для улучшения функциональности формы рабочего элемента.

Кроме того, можно использовать пользовательские элементы управления, доступные в Visual Studio Marketplace, например:

Сведения о добавлении пользовательского элемента управления в новую веб-форму см. в разделе "Элементы WebLayout и Control".

Изменение атрибута существующего поля

Вы используете witadmin changefield для изменения атрибутов существующего поля. Например, следующая команда изменяет понятное имя, определенное для MyCompany.Type, на «Метод оценки».

witadmin changefield /collection:http://AdventureWorksServer:8080/ DefaultCollection/n:MyCompany.Type /name:"Evaluation Method"

В следующей таблице суммированы атрибуты, которые можно изменить с помощью witadmin changefield.

Атрибут Описание
Тип данных Указывает тип данных, которые принимает поле. Как правило, не удается изменить тип данных поля после его определения. Вы можете переключить тип данных поля только для полей типа HTML или PlainText.
Эффектное имя Удобочитаемое имя отображается в выпадающих меню запросов рабочих элементов и должно быть уникальным среди всех полей, определенных в коллекции проектов. Дружественное имя может отличаться от ярлыка формы, который отображается в форме элемента задания.
Атрибуты отчетов Вы можете изменить имя поля, отображаемого в отчете, имя ссылки на отчет и тип отчетов. Вы можете локализовать удобное для отчёта имя.

Тип отчетов определяет, записываются ли данные поля в реляционную базу данных хранилища, как в реляционную базу данных, так и в куб OLAP, или для создания предварительно вычисляемой суммы значений при обработке куба OLAP.

Полный список полей, которые можно выводить в отчет по умолчанию, см. в Справочнике по полям, выводимым в отчет. Для получения более подробной информации об отчетируемых атрибутах см. раздел Поля и атрибуты рабочих элементов, отчетируемые атрибуты.
Синхронизация Вы можете включить или отключить синхронизацию полей имени пользователя с Active Directory.

Изменение атрибута индекса поля

Включите индексирование поля для улучшения времени отклика запросов при фильтрации. По умолчанию индексируются следующие поля: "Назначено", "Дата создания", "Изменено", "Состояние", "Причина", "Идентификатор области", "Итерация" и "Рабочий элемент".

Чтобы включить или отключить индексирование для поля, используйте команду witadmin indexfield.

Удаление поля

При удалении поля из определенного WIT, поле остается в коллекции или на сервере базы данных, даже если оно больше не используется ни одним WIT. Чтобы полностью удалить поле, выполните следующие действия.

  1. FIELD Удалите определение из всех определений WIT и всех глобальных рабочих процессов, ссылающихся на него.

  2. Убедитесь, что поле не используется. Например:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
    Field: MyCompany.CustomContact
    Name: Custom Contact
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  3. Удалите поле. Например:

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. Если удаленное поле имело возможность передачи отчета, и проект использует службы отчётности SQL Server, перестройте хранилище данных для очистки старого поля и его значений.

Дополнительные сведения см. в разделе "Управление полями рабочих элементов".

Поля для тестирования, сборки и управления версиями

Некоторые типы рабочих элементов включают поля, созданные автоматизированными процессами, которые интегрируются с Team Foundation Build, Microsoft Test Manager и управлением версиями Team Foundation. Чтобы добавить эти поля в пользовательские типы рабочих элементов (WIT), измените определение WIT , выполнив описанные ранее действия.

Например, можно добавить поля "Найденный иинтегрированный в сборке ", которые связывают ошибки со сборками, в которых они были найдены или исправлены. Используйте следующий фрагмент кода, чтобы включить эти поля в определение WIT:

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
    <HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
</FIELD>

Дополнительные сведения см. в разделе Запрос на основе полей интеграции сборки и тестирования.