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

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 — TFS 2013

Важно!

Эта статья относится к настройке проекта для локальных моделей процессов XML. Общие сведения о моделях процессов см. в статье Настройка отслеживания работы.

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

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

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

Примечание

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

Определение WIT Изменение командной строки (локальный XML)
- -
- -
- -
- -
- -
- -
- -
- -
- -

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

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

Чтобы добавить в качестве администратора, добавьте администраторов.

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

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

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

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

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

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

  • Сопоставьте коллекцию проектов с экземпляром Project Web App (PWA). после установки расширений Team Foundation Server для Project Server настройте интеграцию путем сопоставления различных компонентов Team Foundation. При сопоставлении коллекции импортируется определение глобального рабочего процесса, поддерживающее несколько полей Project Server. дополнительные сведения см. в разделе поля Project Server, добавленные в TFS для поддержки синхронизации данных.

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

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

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

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

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

Summary of field attributes and field rules

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

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

Совет

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

также можно использовать командную группу TFS Project Manager— клиент с открытым кодом, доступный на GitHub.

Совет

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

также можно использовать командную группу TFS Project Manager— клиент с открытым кодом, доступный на GitHub.

Совет

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

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

Добавление флажка или логического поля

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

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

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

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

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

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

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

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

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

Пользовательское поле и список выбора
Custom pick list

<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>

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

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

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

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

Например, с помощью следующего фрагмента кода можно применить правило, в соответствии с которым после создания рабочего элемента только члены определенной пользователем группы 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
Ограничение допустимых значений поля. Каннотлосевалуе, Empty, замороженный, нотсамеас, ReadOnlyи Required
Копирование значения или указание значения по умолчанию. Копирование, по умолчаниюи сервердефаулт
Ограничьте список пользователей, которые могут изменять поле. Атрибуты правил для полей VALIDUSER, for и Not
Применение сопоставления шаблонов в строковом поле. MATCH
Условное применение правил на основе значений в других полях. When, WHENNOT, WHENCHANGEDи WHENNOTCHANGED

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

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

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

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

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

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

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

    В следующем коде задается настраиваемое поле, запрашивающая ссылка, ссылочное имя 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, а все остальные элементы — прописными буквами. Если при проверке файлов определения типов возникнут ошибки, проверьте регистр элементов. Кроме того, структура открывающих и закрывающих тегов должна соответствовать правилам синтаксиса XML. Дополнительные сведения см. в разделе Справочник по элементу управления XML.

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

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

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

    New field in form

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этом разделе описывается добавление и настройка полей для размещенных 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>

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

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

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