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


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

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

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

    • Тип данных для полей PlainText или HTML

      Важное примечаниеВажно

      При обновлении Team Foundation Server с предыдущей версии до текущей версии назначение типа для поля Описание (System.Description) автоматически преобразуется из PlainText в HTML.С помощью команды changefield можно восстановить содержимое этого поля для отображения в виде обычного текста.

    • Понятное имя отобразится в запросе рабочего элемента.Это имя может отличаться от отображаемого в форме рабочего элемента.

    • Атрибуты отчета, которые содержат имя поля, как оно указано в отчете, имя справочного отчета и тип отчетности.

    • Синхронизация с Active Directory — возможность синхронизации включения/отключения поля личных имен.

  • deletefield: удаляет указанное поле.

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

  • listfields: список атрибутов для всех полей или указанного поля.

Для запуска инструмента командной строки witadmin откройте окно командной строки там, где установлено либо Visual Studio, либо Team Explorer и введите:

cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE

В 64-разрядной версии Windows замените %programfiles% на %programfiles(x86)%.

Обзор полей, определенных в рамках шаблонов процессов по умолчанию, поставляемых с , см. в разделе Справочник по полям рабочих элементов для Visual Studio ALM.

ПримечаниеПримечание

Можно создавать и изменять поля рабочих элементов, используя редактор процесса, автоматический инструмент для Visual Studio.Это средство не поддерживается.Дополнительные сведения см. на следующей странице веб-сайта Microsoft: Team Foundation Server Power Tools.

Требования

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

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

Дополнительные сведения см. в разделах Разрешения Team Foundation Server и Группы по умолчанию, права и роли в Team Foundation Server.

ПримечаниеПримечание

Даже если вход в систему выполнен с разрешениями администратора, чтобы выполнить эту функцию на сервере с операционной системой Windows Server 2008, необходимо открыть окно командной строки с повышенными привилегиями.Чтобы открыть окно командной строки с повышенными привилегиями, выберите Пуск, откройте контекстное меню пункта Командная строка и выберите команду Запуск от имени администратора.Дополнительные сведения см. на веб-сайте корпорации Майкрософт: User Access Control.

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

witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]

witadmin indexfield /collection:CollectionURL /n:Name /index:on|off 

witadmin listfields /collection:CollectionURL /n:RefName [/unused]

Параметры

Параметр

Описание

/collection:CollectionURL

Задает универсальный код ресурса (URI) коллекции командных проектов.URI имеет следующий формат: http://ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции

Если виртуальный каталог не используется, URI имеет следующий формат:

http://имя_сервера:порт/имя_коллекции

/n:RefName

/n:Name

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

/index

Указывает включить или отключить индексирование для указанного поля.Укажите on, чтобы включить индексацию, или off, чтобы отключить индексацию.

/name:NewName

Задает новое имя для поля.

/syncnamechanges

Указывает использовать поле рабочего элемента для хранения имен, которые нужно обновлять по мере внесения изменений в Active Directory или в рабочую группу.Этот параметр допустим только в том случае, когда для typename указано поле с типом данных String.

Укажите значение true для включения синхронизации поля данных, а для отключения укажите значение false.

/reportingname:ReportingName

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

/reportingrefname:ReportingRefName

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

/reportingtype:Type

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

  • dimension: используется для полей типа Integer, String или DateTime.

  • detail: используется для полей типа Integer, Double, String или DateTime.

  • measure: используется для полей типа Integer и Double.Тип статистической обработки по умолчанию — сумма.Используя параметр formula, можно указать другой тип статистической обработки.

  • disable: используется, чтобы отключить у поля возможность сообщения данных.

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

/reportingformula:Formula

Задает формулу агрегата, которая будет использоваться при сообщении, что поле является measure.Единственная поддерживаемая формула — sum.

/type:HTML | PlainText

Определяет преобразование содержимого поля из PlainText в HTML или из HTML в PlainText.Этот параметр можно указать только для полей, которым назначен тип PlainText или HTML.Дополнительные сведения см. в разделе Элемент FIELD (определение).

/unused

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

/noprompt

Отключает запрос подтверждения.

/?or help

Отображает справку по команде в окне командной строки.

Заметки

Dd236909.collapse_all(ru-ru,VS.110).gifИндексированные поля

Индекс запроса создается на основе полей с включенной индексацией.Этот индекс повышает время отклика при выполнении запросов с индексируемыми полями.

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

Dd236909.collapse_all(ru-ru,VS.110).gifСинхронизация личных имен с Active Directory

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

Все ссылочные поля системы, в которых отображаются личные имена, имеют атрибут syncnamechanges, установленный в true. Такие поля включают System.AuthorizedAs, System.AssignedTo, System.ChangedBy и System.CreatedBy. Синхронизация включена для каждого поля личного имени, указанного в одном из шаблонов процессов по умолчанию.Для получения дополнительной информации см. Ссылка на поле "Назначения и рабочий процесс".

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

При назначении атрибута syncnamechanges для строкового поля оно всегда принимает допустимые имена пользователей.Однако поле не разрешает имена групп, которые хранятся в Team Foundation Server или в Active Directory, хотя бы одно из следующих условий является истинным (true):

  • Правило VALIDUSER задается для всех типов рабочих элементов

  • Правило VALIDUSER задается для типа рабочего элемента

  • Правило ALLOWEDVALUES указывается для типа рабочего элемента, и это правило имеет условие фильтра, которое исключает группы

Для получения дополнительной информации см. Справка по всем XML-элементам FIELD.

Dd236909.collapse_all(ru-ru,VS.110).gifАтрибуты, которые можно изменить для каждого типа рабочего элемента

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

Примеры

Если не указано иначе, во всех примерах применяются следующие значения:

  • URI-адрес коллекции командного проекта: http://AdventureWorksServer:8080/tfs/DefaultCollection

  • Имя поля рабочего элемента: AdventureWorks.Field

  • Кодировка по умолчанию: UTF-8

Dd236909.collapse_all(ru-ru,VS.110).gifПоля списка

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

Просмотр атрибутов поля рабочего элемента

  • Введите следующую команду, чтобы перечислить атрибуты, определенные для конкретного поля, такие как Microsoft.VSTS.Common.Issue.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue
    

    Сведения полей и атрибутов отображается для названного поля, как показано в примере.

    Field: Microsoft.VSTS.Common.Issue
    Name: Issue
    Type: String
    Reportable As: dimension
    Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps)
    Indexed: False
    

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

Список всех полей в коллекции командного проекта

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

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection
    

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

Неиспользуемые поля списка

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

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused
    

    Сведения полей и атрибутов отображается для каждого неиспользуемого поля, как показано в примере.

    Field: Microsoft.VSTS.CMMI.TaskType
    Name: Task Type
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
    Field: Microsoft.VSTSUE.Common.Flag
    Name: Flag
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
    Field: Microsoft.VSTSUE.Common.Progress
    Name: Progress
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    

Dd236909.collapse_all(ru-ru,VS.110).gifПереименование поля

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

Выполнение переименования поля рабочего элемента

  1. Введите следующую команду, чтобы изменить понятное имя, назначенное Microsoft.VSTS.Common.Rank, на "Ранг важности".

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
    
  2. В командной строке введите y, а затем нажмите клавишу ВВОД.Дождитесь получения следующего сообщения:

    Field renamed.

Проверка изменений, импортированных в отдельный проект

  1. В Team Explorer выберите Обновить команду Обновить.

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

  2. Выберите Создать запрос для создания запроса.

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

    Чтобы просмотреть результаты запроса, следует его выполнить. TF51005: Запрос ссылается на поле, которое не существует.Причина ошибки: <<Ранг>>.

  4. Удалите значение "Ранг" из ячейки Поле и введите в ячейку значение "Ранг важности".

  5. Выберите <> в ячейке Оператор и введите "1" в ячейку Значение.

  6. На панели инструментов Запрос нажмите кнопку Выполнение запроса (Team Explorer)Выполнить.

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

  8. Выберите значение Ранг важности в поле Доступные столбцы, а затем нажмите кнопку добавления выбранных столбцов (>).Нажмите кнопку ОК.

    Обратите внимание, что в понятном имени Microsoft.VSTS.Common.Rank значение "Ранг" изменилось на "Ранг важности" и в построителе запросов, и в списке результатов.

  9. Закройте запрос.При выводе предложения сохранить запрос нажмите кнопку Нет.

  10. Создайте новый рабочий элемент типа "Задача".Выберите ссылку Новые рабочие элементы и выберите пункт Задача.

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

  11. Обратите внимание, что в поле Состояние подпись переименованного поля (Ранг) не изменилась.Дело в том, что подписи полей в формах рабочих элементов зависят от родительского командного проекта и не зависят от имени поля, только что измененного на сервере.

    ПримечаниеПримечание

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

  12. Закройте новую задачу и выберите Нет в ответ на предложение сохранить рабочий элемент.

Dd236909.collapse_all(ru-ru,VS.110).gifИзменение отчета как значения для поля

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

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension

Следующая команда задает в качестве типа возможности создания отчетов для поля типа Double AdventureWorks.Field значение measure.Все показатели проходят статистическую обработку путем суммирования.

witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure

Dd236909.collapse_all(ru-ru,VS.110).gifВключение синхронизации специального поля личного имени.

Следующая команда включает синхронизацию для поля рабочего элемента AW.CustomerName, определенного для Collection1 на AdventureWorksServer.

Проверка типа данных поля, которое требуется преобразовать

  • Проверьте тип данных, назначенных полю, например MyCompany.CustomerName, которое нужно синхронизировать, введя следующую команду:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName
    

Включение синхронизации

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

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true
    
  2. Отобразится следующий запрос подтверждения.

    This will change properties for field {0} on the Team Foundation Server.Do you want to continue?

  3. Введите 0, чтобы подтвердить изменение поля, или 1, чтобы отменить запрос.

    Если запрос изменения будет выполнен успешно, отобразится следующее подтверждающее сообщение.

    The field was updated.

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

Dd236909.collapse_all(ru-ru,VS.110).gifУдаление поля

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

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field

Проверка неиспользования поля

  1. Введите следующую команду, указав ссылочное имя поля рабочего элемента, например MyCompany.MyProcess.MyField.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField
    

    В сведениях, отображенных для поля, проверьте, указано ли для Use значение "Not In Use", как показано в примере.

    Field: MyCompany.MyProcess.MyField
    Name: MyField
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  2. Если поле Use указывает, что поле используется, его следует удалить из каждого типа рабочего элемента для каждого указанного командного проекта.Например, поле Microsoft.VSTS.TCM.SystemInfo указывает, что оно используется типами рабочих элементов ошибки и дефекта кода для четырех проектов: Arroyo, Desert, Palm и Springs.

    Field: Microsoft.VSTS.TCM.SystemInfo
    Name: System Info
    Type: Html
    Reportable As: None
    Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect)
    Indexed: False
    

    Перед удалением этого поля, его следует удалить из типов рабочих элементов каждого командного проекта, для которого оно определено.Чтобы удалить поле, необходимо изменить определение типа рабочего элемента, удаляя элементы FIELD и Control, которые содержат ссылочное имя поля.См. разделы Настройка типов рабочих элементов и управление ими [witadmin], Элемент FIELD (определение) и Справка по XML-элементу Control.

Удаление поля из коллекции командных проектов

  • Введите следующую команду, чтобы удалить поле MyCompany.MyProcess.MyField поле, а затем нажмите клавишу ВВОД.

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName
    

    При выводе запроса на подтверждение введите y.

См. также

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

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

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

Справочник по полям рабочих элементов для Visual Studio ALM

Справочник по включаемым в отчеты полям для Visual Studio ALM

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

witAdmin. Настройка объектов для отслеживания рабочих элементов и управление этими объектами