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

Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

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

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

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

Примечание

Доступность компонентов: Некоторые функции можно выполнять только из локальной TFS и отметить как таковые.

Необходимые разрешения

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

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

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

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

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

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

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

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

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

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

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

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

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

Сводка атрибутов полей и правил полей

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

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

Совет

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

Кроме того, вы можете использовать диспетчер командных проектов TFS, клиент с открытым кодом, доступный на сайте GitHub.

Совет

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

Кроме того, вы можете использовать диспетчер командных проектов TFS, клиент с открытым кодом, доступный на сайте GitHub.

Любое поле, которое требуется использовать для отслеживания данных, нужно добавить в файл определения 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. Например, чтобы добавить пользовательское поле Resolution и список выбора, укажите приведенный ниже 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 "Management Team" могут изменять поле "Stack Rank".

<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
Ограничение допустимых значений поля. CANNOTLOSEVALUE, 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 раздел, чтобы настраиваемое поле отображалось в форме в группе элементов, в которой она будет отображаться.

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

    <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 (Название) в поле "Название".

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

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

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

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

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

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

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

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

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

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

attribute Описание
Тип данных Указывает тип данных, который принимает поле. Как правило, невозможно изменять тип данных поля после его определения. Тип данных поля можно переключать только для полей типа 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, перестройте хранилище данных, чтобы очистить старое поле и его значения.

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

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

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

Поля "Тестирование", "Сборка" и "Управление версиями"

Несколько WIT содержат поля, предоставляющие информацию, которая создается автоматизированными процессами, интегрирующимися с 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>

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

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

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