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


Добавление и изменение полей рабочих элементов для поддержки отчетов

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

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

Содержание раздела

  • Рекомендации

  • Использование существующего поля

  • Получение списка полей, определенных для коллекции командных проектов

  • Атрибуты полей, включаемых в отчеты

  • Изменение включаемого в отчеты атрибута поля

  • Добавление полей для поддержки отчетности

  • Проверка изменений, внесенных в атрибуты включаемого в отчеты поля

  • Рекомендации по присвоению отчетных ссылочных имен

  • Включаемые в отчеты поля, определенные в шаблонах процессов MSF

Рекомендации

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

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

  • Определите, нельзя ли использовать поле, уже определенное в другой коллекции командной проектов в развертывании Visual Studio Team Foundation Server. Использование существующих полей обеспечивает возможность межпроектной отчетности.

  • В каждой коллекции проектов может быть не более 1024 полей, а во всех коллекциях проектов в пределах развертывания Team Foundation Server — не более 1024 уникальных включаемых в отчеты полей. Объединенные поля засчитываются как одно включаемое в отчеты поле.

  • Разработайте стандартную процедуру и процесс анализа для добавления и изменения полей в шаблонах процессов, командных проектах или коллекциях проектов.

  • При именовании полей для отчетности придерживайтесь систематических правил именования. Систематический подход к присвоению ссылочных имен во всех коллекциях командных проектов в пределах развертывания Team Foundation Server обеспечивает получение более согласованной и удобной в использовании схемы хранилища и куба, позволяя избежать конфликтов схемы в хранилище. Дополнительные сведения см. в разделе Разрешение конфликтов схемы, возникающих в хранилище данных.

    Полю рабочего элемента можно назначить до четырех атрибутов меток:

    Примечание

    Полям, определенным в шаблонах процессов Microsoft Solutions Framework, не присвоены ни отчетные имена, ни отчетные ссылочные имена.По умолчанию используются атрибуты ссылочного имени и имени.

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

    • refname. Уникальная метка, присвоенная полю, которая отличает его от всех остальных полей, определенных в коллекции командных проектов. Значение, присвоенное атрибуту refname, не может быть изменено.

      Требования и ограничения в отношении понятных имен и ссылочных имен для полей см. в разделе Соглашения об именовании объектов отслеживания рабочих элементов.

    • reportingname. Необязательный атрибут. Имя, используемое для идентификации поля в отчетах. Если этот атрибут не задан явно, используется значение, присвоенное атрибуту name.

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

      Примечание

      Отчетные ссылочные имена просматриваются только в отчете сводной таблицы или в кубе служб аналитики.

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

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

  • Определите поле, которое требуется использовать. С помощью команды witadmin listfields получите список полей, определенных для всех коллекций проектов, и их атрибутов. Дополнительные сведения см. в подразделе Получение списка полей, определенных для коллекции командных проектов далее в данном разделе.

  • Определите, является ли поле включаемым в отчеты, и соответствуют ли вашим потребностям его атрибуты включения в отчеты.

  • Если поле не является включаемым в отчеты, с помощью команды witadmin changefield измените его атрибут включения в отчеты для коллекций проектов, в которых оно используется. Дополнительные сведения см. в подразделе Изменение включаемого в отчеты атрибута поля далее в данном разделе.

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

Получение списка полей, определенных для коллекции командных проектов

Команда witadmin listfields позволяет вывести список полей и их атрибутов. Можно вывести заданное поле или все поля, определенные в коллекции проектов. Команда witadmin listfields имеет следующий синтаксис:

witadmin listfields /collection:CollectionURL /n:RefName 

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

Атрибуты полей, включаемых в отчеты

Включаемые в отчеты поля имеют атрибут reportable со значением Detail, Dimension или Measure. Следующие атрибуты определяют способ экспорта полей рабочих элементов в базы данных хранилища данных и их обработки в этих базах данных.

  • reportingtype. Для включения поля в отчеты необходимо присвоить атрибуту reportable одно из следующих значений.

    • Detail: при присвоении этого значения поле экспортируется в реляционную базу данных хранилища, но не в куб. Как показано в следующем примере, тип Detail используется только для полей типа Integer, Double, String или DateTime:

      <FIELD refname="MyCorp.Summary" name="Summary" type="String" reportable="detail">
      
    • Dimension: при присвоении этого значения поле экспортируется и в реляционную базу данных хранилища, и в куб. Как показано в следующем примере, значение Dimension используется только для полей типа Integer, Double, String или DateTime: Этим значением удобно пользоваться для включения полей, используемых для фильтрации отчетов (например, полей, имеющих списки допустимых значений).

      <FIELD refname="MyCorp.Category" name="Category" type="String" reportable="dimension">
      
    • Measure: присвоение этого значения обеспечивает обработку предварительно вычисленных значений в кубе. Тип Measure используется только для полей Integer и Double.

      При присвоении атрибуту reportingtype значения Measure необходимо присвоить значение sum атрибуту formula, как показано в следующем примере:

      <FIELD refname="MyCorp.Cost" name="Cost" type="Integer" reportable="measure" formula="sum">
      
  • reportingrefname. Полю, помеченному как включаемое в отчеты, можно назначить другое ссылочное имя. Если этот атрибут не задан, используется значение, присвоенное атрибуту refname;

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

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

  • reportingname. Можно назначить другую метку полю, которое используется для отображения данных в отчетах. Если этот атрибут не задан, используется понятное имя, присвоенное атрибуту name. Значение, присвоенное атрибуту reportingname, отображается в кубе. Значение, присвоенное атрибуту reportingrefname, в кубе не фигурирует.

    Важно!

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

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

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

Изменить назначения атрибутов поля можно с помощью следующих действий.

  1. Изменить назначение атрибута полю можно с помощью команды witadmin changefield. Эта команда применяется на уровне коллекции командных проектов. Используется следующий синтаксис:

    witadmin changefield /collection:CollectionURL /n:RefName [/name:NewName] [/syncnamechanges:true | false] [/reportingname:ReportingName] [/reportingrefname:ReportingRefName] [/reportingtype:Type] [/reportingformula:Formula] [/noprompt]
    

    Чтобы сделать существующее поле включаемым в отчеты, измените его атрибут reportingtype. Например, чтобы поле AW.Common.TeamPriority можно было использовать для фильтрации отчетов, присвойте ему значение Dimension:

    witadmin changefield /collection:http://AdventureWorksServer:8080/AWTeam/Collection1 /n:AW.Common.TeamPriority /reportingtype:dimension 
    

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

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

    • тип поля (для существующего поля значение этого атрибута изменить нельзя);

    • отчетный тип;

    • отчетное имя.

    Дополнительные сведения см. в разделе Разрешение конфликтов схемы, возникающих в хранилище данных.

  3. После внесения всех изменений в поля рабочих элементов, которые требуется использовать в отчетности, необходимо обработать базы данных хранилища данных. Сделать это можно с помощью веб-служб ProcessWarehouse и ProcessAnalysis, доступных через веб-службу WarehouseControlWebService.

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

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

Добавление полей для поддержки отчетности

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

Дополнительные сведения см. в следующих разделах.

Проверка изменений, внесенных в атрибуты включаемого в отчеты поля

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

Примечание

Дополнительные сведения о веб-службе WarehouseControlWebService см. в разделе Обработка хранилища данных и куба служб аналитики вручную для Team Foundation Server.

  1. Обработайте по запросу реляционное хранилище данных с помощью операции ProcessWarehouse WarehouseControlWebService.

  2. Обработайте по запросу куб с помощью операции ProcessAnalysisDatabase WarehouseControlWebService.

  3. Убедитесь в том, что отчеты обновляются. Просмотрите отчет через панель мониторинга или диспетчер отчетов. Дополнительные сведения см. в разделе Панели мониторинга (гибкая разработка) или Отчеты (гибкая разработка).

Рекомендации по присвоению отчетных ссылочных имен

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

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

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

  • поля с префиксом "System" являются встроенными полями и содержатся непосредственно в измерении "Рабочий элемент"; их имена предваряются словами "Рабочий элемент";

  • остальные поля помещаются в папки, имена которых соответствуют префиксам ссылочных имен этих полей. Например, поля с префиксом "Microsoft.VSTS.Common" содержатся в папке с именем "Microsoft VSTS Common".

Как показано на следующем рисунке, для каждой группы полей, имеющих общий префикс, добавляется по папке:

Структура папок в кубе данных OLAP

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

Примечание

Развертывания, в которых не используется выпуск Enterprise служб аналитики SQL Server, не имеют доступа к функциям перевода, обеспечиваемым этим выпуском.В таких развертываниях поля в кубе обозначаются своими полными ссылочными именами, в которых символ точки (.) заменяется символом подчеркивания (_) (например, "System_Id" and "System_Title").

Имя в отчете сводной таблицы и в кубе

Ссылочное имя

Тип данных

Рабочий элемент.Путь области

System.AreaPath

TreeType

Рабочий элемент.Кому назначено

System.AssignedTo

String

Рабочий элемент.Кем изменено

System.ChangedBy

String

Рабочий элемент.Дата изменения

System.ChangedDate

DateTime

Рабочий элемент.Кем создано

System.CreatedBy

String

Рабочий элемент.Дата создания

System.CreatedDate

DateTime

Рабочий элемент.Идентификатор

System.Id

Integer

Рабочий элемент.Путь итерации

System.IterationPath

TreeType

Рабочий элемент.Предыдущее состояние

System.PreviousState

String

Рабочий элемент.Причина

System.Reason

String

Рабочий элемент.Вер

System.Rev

Integer

Рабочий элемент.Состояние

System.State

String

Рабочий элемент.Название

System.Title

String

Рабочий элемент.Тип рабочего элемента

System.WorkItemType

String

В следующей таблице перечислены поля, присутствующие в отчете сводной таблице в папке с именем "Microsoft.VSTS.Common" в измерении "Рабочий элемент". Ссылочные имена этих полей начинаются с "Microsoft.VSTS.Common".

Имя в отчете сводной таблицы и в кубе

Ссылочное имя

Тип данных

Рабочий элемент.Активировал

Microsoft.VSTS.Common.ActivatedBy

String

Рабочий элемент.Дата активации

Microsoft.VSTS.Common.ActivatedDate

DateTime

Рабочий элемент.Кем закрыто

Microsoft.VSTS.Common.ClosedBy

String

Рабочий элемент.Дата закрытия

Microsoft.VSTS.Common.ClosedDate

DateTime

Рабочий элемент.Кем создано

Microsoft.VSTS.Common.CreatedBy

String

Рабочий элемент.Дата создания

Microsoft.VSTS.Common.CreatedDate

DateTime

Рабочий элемент.Кем разрешено

Microsoft.VSTS.Common.ResolvedBy

String

Рабочий элемент.Дата разрешения

Microsoft.VSTS.Common.ResolvedDate

DateTime

Рабочий элемент.Разрешенная причина

Microsoft.VSTS.Common.ResolvedReason

String

Рабочий элемент.Приоритет

Microsoft.VSTS.Common.Priority

Integer

Рабочий элемент.Важность

Microsoft.VSTS.Common.Severity

String

Рабочий элемент.Ранг стека

Microsoft.VSTS.Common.StackRank

Double

Включаемые в отчеты поля, определенные в шаблонах процессов MSF

В следующей таблице перечислены поля, определенные в шаблонах процессов Microsoft Solutions Framework (MSF), и атрибуты, по умолчанию назначенные этим полям. Эти поля присутствуют только для командных проектов, созданных по шаблону процесса MSF версии 5.0. Перечислены только те поля, которые по умолчанию являются включаемыми в отчеты.

  • Поля подробных сведений

  • Поля измерений

  • Поля мер

Полный список полей, определенных в шаблонах процессов MSF, см. в разделе Использование системных полей и полей, определенных шаблонами процессов MSF. Если командный проект был обновлен до новой версии, для работы с некоторыми из этих полей может потребоваться выполнить дополнительные задачи. Дополнительные сведения см. в разделе Обновление обновленного командного проекта для доступа к новым функциям.

Поля подробных сведений

Имя поля

Описание

Ссылочное имя

Тип данных

Состояние автоматизации

Состояние тестового случая. Можно указать следующие значения.

  • Неавтоматизированные

  • Плановый

Microsoft.VSTS.TCM.AutomationStatus

String

Поля измерений

Имя поля

Описание

Ссылочное имя

Тип данных

Идентификатор

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

System.Id

Integer

Название

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

System.Title

String

Командный проект

Командный проект, которому принадлежит этот рабочий элемент.

System.TeamProject

String

Тип рабочего элемента

Имя типа рабочего элемента.

System.WorkItemType

String

Область

Группирует рабочие элементы по функциям продукта или областям команд. Область должна быть допустимым узлом в иерархии проекта.

System.AreaPath

TreePath

Итерация

Группирует рабочие элементы по именованным спринтам или периодам времени. Итерация должна быть допустимым узлом в иерархии проекта.

System.IterationPath

TreePath

Кем изменено

Имя члена команды, который последним изменял рабочий элемент.

System.ChangedBy

String

Действие

Тип действия, необходимого для выполнения задачи.

Microsoft.VSTS.Common.Activity

String

Вер

Номер, присвоенный текущей редакции рабочего элемента.

System.Rev

Integer

Дата выполнения

Прогнозируемая дата выполнения задачи.

Microsoft.VSTS.Scheduling.DueDate

DateTime

Дата окончания

Дата и время окончания задачи, указанные в расписании.

Microsoft.VSTS.Scheduling.FinishDate

DateTime

Дата начала

Дата и время начала задачи, указанные в расписании.

Microsoft.VSTS.Scheduling.StartDate

DateTime

Найдено в

Номер построения продукта, называемый также номером редакции, в котором обнаружена ошибка.

Microsoft.VSTS.Build.FoundIn

String

Построение интеграции

Номер построения продукта, который включает в себя код или исправляет ошибку.

Microsoft.VSTS.Build.IntegrationBuild

String

Кому назначено

Имя участника команды, который является владельцем рабочего элемента.

System.AssignedTo

String

Причина

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

System.Reason

String

Состояние

Текущее состояние рабочего элемента. Допустимые значения состояния разнятся в зависимости от типа рабочего элемента.

System.State

String

Кем активирован

Имя участника команды, который впервые или повторно активировал рабочий элемент.

Microsoft.VSTS.Common.ActivatedBy

String

Дата активации

Дата и время первой или повторной активации рабочего элемента.

Microsoft.VSTS.Common.ActivatedDate

DateTime

Кем закрыт

Имя участника команды, который закрыл рабочий элемент.

Microsoft.VSTS.Common.ClosedBy

String

Дата закрытия

Дата и время закрытия рабочего элемента.

Microsoft.VSTS.Common.ClosedDate

DateTime

Кем создано

Имя участника команды, который создал рабочий элемент.

Microsoft.VSTS.Common.CreatedBy

String

Дата создания

Дата и время создания рабочего элемента.

Microsoft.VSTS.Common.CreatedDate

DateTime

Кем разрешен

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

Microsoft.VSTS.Common.ResolvedBy

String

Дата разрешения

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

Microsoft.VSTS.Common.ResolvedDate

DateTime

Причина разрешения

Причина разрешения ошибки (например, ошибка исправлена).

Microsoft.VSTS.Common.ResolvedReason

String

Приоритет

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

  • 1: продукт не может быть поставлен без успешного разрешения рабочего элемента, причем рабочий элемент требует немедленного внимания.

  • 2: продукт не может быть поставлен без успешного разрешения рабочего элемента, однако немедленного внимания рабочий элемент не требует.

  • 3: разрешение рабочего элемента не является обязательным и зависит от имеющихся ресурсов, времени и риска.

Microsoft.VSTS.Common.Priority

Integer

Ранг

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

Microsoft.VSTS.Common.Rank

Double

Оценка описания

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

Microsoft.VSTS.StoryPoints

Double

Риск

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

  • 1 — Высокий

  • 2 — Средний

  • 3 — Низкий

Microsoft.VSTS.Common.Risk

String

Важность

Субъективная оценка влияния данной ошибки на проект. Можно указать следующие значения.

  • 1 — Критическая

  • 2 — Высокая

  • 3 — Средняя

  • 4 — Низкая

Microsoft.VSTS.Common.Severity

String

Дата выполнения

Прогнозируемая дата завершения работы над проблемой. Это поле применимо только для рабочих элементов "проблема".

Microsoft.VSTS.Scheduling.DueDate

DateTime

Поля мер

Имя поля

Описание

Ссылочное имя

Тип данных

Исходная оценка

Количество часов, необходимых для завершения задачи.

Microsoft.VSTS.Scheduling.OriginalEstimate

Double

Осталось

Количество часов, оставшихся до завершения задачи.

Microsoft.VSTS.Scheduling.RemainingWork

Double

Завершено

Количество часов, затраченных на работу над задачей.

Microsoft.VSTS.Scheduling.CompletedWork

Double

См. также

Ссылки

Управление полями рабочих элементов [witadmin]

Основные понятия

Работа с полями рабочих элементов

Создание и настройка отчетов для Visual Studio ALM, а также управление ими

Другие ресурсы

Обработка хранилища данных и куба служб аналитики вручную для Team Foundation Server

Разрешение конфликтов схемы, возникающих в хранилище данных

Определение полей рабочих элементов