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

Azure DevOps Server 2022 — Azure DevOps Server 2019

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

Примечание.

Сведения о Azure DevOps Services или коллекциях проектов, использующих наследуемую модель процесса, см. в разделе "Добавление настраиваемого поля в рабочий тип элемента".

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

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

Необходимые компоненты

  • Чтобы получить список полей, необходимо иметь разрешение на просмотр сведений на уровне проекта для проекта в наборе коллекций, для которых задано значение Allow.
  • Чтобы добавить или настроить поле, необходимо быть членом группы "Администраторы проектов" или иметь разрешение на изменение сведений на уровне проекта в значение Allow.
  • Чтобы удалить или переименовать поля или изменить атрибут поля, необходимо быть членом группы безопасности Team Foundation Administrators или группы безопасности администраторов коллекции проектов.

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

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

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

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

  • Создайте проект. Создаются все поля, определенные в определениях для типов рабочих элементов или глобального рабочего процесса, которые определены для выбранного шаблона процесса. Основные системные поля определяются автоматически для каждого типа рабочего элемента, определенного для проекта. Список этих полей см. в разделе "Индекс поля рабочего элемента".

  • Импорт определения WIT. Все новые поля, определенные в определении для типа рабочего элемента, добавляются в коллекцию. Дополнительные сведения см . в справочнике по всем XML-элементам WITD.

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

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

Чтобы добавить или настроить поле для коллекции, измените XML-содержимое для определения WIT. Определите каждое поле с помощью элемента FIELD в разделе FIELDS определения WIT. Сведения о структуре и расположении этих файлов см . в справочнике по всем 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 или проектах, можно определить глобальный список для части списка выбора. См. статью "Определение списков выбора" и "Определение глобальных списков".

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

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

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

<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, EMPTY, FROZEN, NOTSAMEAS, READONLY и REQUIRED
Скопируйте значение или укажите значение по умолчанию. COPY, DEFAULT и SERVERDEFAULT
Ограничение того, кто может изменить поле. VALIDUSER, а не атрибуты правила поля
Принудительное сопоставление шаблонов в строковом поле. MATCH
Условное применение правил на основе значений в других полях. 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 раздел, чтобы настраиваемое поле отображалось в форме в группе элементов, в которых она будет отображаться.

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

    <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 элемента как верблюдю регистр и все остальные элементы, как все прописные буквы. Если при проверке файлов определения типов возникают ошибки, проверьте структуру регистра элементов. Кроме того, структура регистра открытия и закрытия тегов должна соответствовать правилам синтаксиса 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. Например, следующая команда изменяет понятное имя, определенное для Метода оценки MyCompany.Type.

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

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

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

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

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

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

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

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

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

При удалении поля из определенного типа рабочего элемента это поле не удаляется из коллекции или сервера базы данных, даже если он больше не ссылается на любой 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 Reporting Services, перестройте хранилище данных для очистки старого поля и его значений.

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

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

Несколько типов рабочих элементов содержат поля, которые предоставляют сведения, созданные автоматизированными процессами, которые интегрируются с Team Foundation Build, Microsoft Test Manager и team Foundation. Чтобы добавить одно из этих полей в пользовательские 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>

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

Имена полей и отчеты

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

В этой статье описано, как добавлять и настраивать поля для моделей процессов размещенного XML и локального XML-процесса. Сведения о добавлении и настройке типов рабочих элементов для моделей процессов размещенного XML и локального XML см. в разделе "Добавление или изменение типа рабочего элемента". Модель процесса наследования см. в разделе "Настройка процесса".

Другие связанные темы или ресурсы: