Управление полями рабочих элементов
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Внимание
Для локальной модели процесса XML можно использовать witadmin для перечисления, импорта, экспорта и изменения процесса для проекта. Для моделей процессов наследуемого и размещенного XML можно использовать только witadmin для перечисления и экспорта сведений о процессе. Общие сведения о моделях процессов и поддерживаемых функциях см. в разделе "Настройка процесса отслеживания работы".
Вы можете управлять полями, определенными для типов рабочих элементов, определенных для коллекции проектов (локальный XML), с помощью следующих команд witadmin . Если вы хотите добавить глобальное поле (допустимое для локального XML) можно сделать это, изменив глобальный файл рабочего процесса и импортируя его в коллекцию.
changefield
: изменяет один или несколько атрибутов поля. При изменении одного из следующих атрибутов измените его для всех типов рабочих элементов и проектов в коллекции проектов:Тип данных для
PlainText
илиHTML
полей.Внимание
При обновлении Team Foundation Server с более ранней версии до текущей версии в поле Description (System.Description) автоматически преобразуется в
PlainText
HTML
.changefield
С помощью команды можно восстановить содержимое этого поля для отображения обычного текста.Понятное имя , отображаемое в запросе рабочего элемента. Это имя может отличаться от этого, отображаемого в форме рабочего элемента.
Атрибуты отчетов, которые включают имя поля, отображаемого в отчете, имя эталонного отчета и тип отчетов.
Синхронизация с Active Directory — можно включить или отключить синхронизацию полей имени пользователя.
deletefield
: удаляет указанное поле.listfields
: перечисляет атрибуты для всех полей или указанного поля.
Примечание.
Команда witadmin indexfield
устарела с помощью Azure DevOps Server 2019 и более поздних версий. Поля индексирования больше не требуются.
Запуск средства командной witadmin
строки
Чтобы запустить программу командной witadmin
строки, откройте окно командной строки, в котором установлена Visual Studio. Средство witadmin
командной строки устанавливает любую версию Visual Studio. Вы можете получить доступ к этому средству, установив бесплатную версию Visual Studio Community или Visual Studio Team Explorer.
Примечание.
Чтобы подключиться к Azure DevOps Services, рекомендуется использовать последнюю версию Visual Studio или Visual Studio Community.
Примечание.
Чтобы подключиться к локальному серверу, рекомендуется использовать ту же или более позднюю версию Visual Studio, что и сервер Azure DevOps. Например, если вы подключаетесь к Azure DevOps Server 2019, подключитесь к проекту из версии Visual Studio 2019.
Для Visual Studio 2022
%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
или Professional
Enterprise
вместо нее в зависимости от установленной Community
версии.
Для Visual Studio 2019
%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
или Professional
Enterprise
вместо нее в зависимости от установленной Community
версии.
для Visual Studio 2017;
%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
или TeamExplorer
Professional
вместо нее в зависимости от установленной Enterprise
версии.
В 32-разрядном выпуске Windows замените %programfiles(x86)% %programfiles%. Вы можете установить Visual Studio Community (который предоставляет доступ к Team Explorer) или Visual Studio Team Explorer 2017 бесплатно.
Общие сведения о полях, определенных в шаблоне процесса по умолчанию, см. в разделе "Индекс поля рабочего элемента".
Совет
С помощью witadmin можно импортировать и экспортировать файлы определений. Другие средства, которые можно использовать, включают редактор процессов (требуется, чтобы вы установили версию Visual Studio). Установите редактор шаблона процесса из Visual Studio Marketplace.
Необходимые компоненты
- Чтобы получить список полей, необходимо иметь разрешение на просмотр сведений на уровне проекта для проекта в наборе коллекций, для которых задано значение Allow.
- Чтобы удалить или переименовать поля или изменить атрибут поля, необходимо быть членом группы безопасности Team Foundation Administrators или группы безопасности администраторов коллекции проектов.
Дополнительные сведения см. в разделе Изменение разрешений на уровне коллекции проекта.
Примечание.
Даже при входе с правами администратора необходимо открыть окно командной строки с повышенными привилегиями, чтобы выполнить эту функцию на сервере под управлением Windows Server 2008. Чтобы открыть окно командной строки с повышенными привилегиями, нажмите кнопку "Пуск", откройте контекстное меню командной строки и выберите команду "Запуск от имени администратора". Дополнительные сведения см. на веб-сайте Майкрософт: пользователь контроль доступа.
Синтаксис
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 listfields /collection:CollectionURL /n:RefName [/unused]
Параметры
Параметр | Description |
---|---|
/collection :CollectionURL |
Задает универсальный код ресурса (URI) коллекции проектов. Например: Локальный формат: http://ServerName:Port/VirtualDirectoryName/CollectionName Если виртуальный каталог не используется, используйте следующий формат: http://ServerName:Port/CollectionName |
/n:RefName /n:Name |
Имя ссылки поля типа рабочего элемента. |
/index |
Указывает, чтобы включить или отключить индексирование для указанного поля. Укажите , чтобы включить индексирование и отключить индексирование. |
/name:NewName |
Задает новое имя поля. |
/syncnamechanges |
Указывает, чтобы использовать поле рабочего элемента для хранения имен и обновления изменений в Active Directory или рабочей группе. Этот параметр действителен только в том случае, если для поля с типом данных string задано typename значение .Укажите, чтобы включить синхронизацию для поля данных, укажите true false , чтобы отключить синхронизацию для поля данных. |
/reportingname:ReportingName |
Указывает имя поля в хранилище данных, которое будет использоваться для создания отчетов. |
/reportingrefname:ReportingRefName |
Указывает имя ссылки поля в хранилище данных, которое будет использоваться для создания отчетов. |
/reportingtype:Type |
Указывает, как поле используется в хранилище отчетов. Допустимы следующие значения: - dimension: Используется для полей Integer, String или DateTime.- detail: Используется для полей Integer, Double, String или DateTime.- measure: Используется для целых и двойных полей. Тип агрегирования по умолчанию — sum. Можно указать другой тип агрегирования с помощью параметра формулы .- none: Используется для отключения отчетов в поле.Дополнительные сведения см. в разделе "Сведения о полях и атрибутах рабочих элементов". |
/reportingformula:Formula |
Указывает формулу агрегирования, которая будет использоваться, когда поле сообщается как .measure Единственной поддерживаемой формулой является sum . |
/type:HTML | PlainText |
Указывает, чтобы преобразовать содержимое поля из или из PlainText HTML HTML PlainText него в . Этот параметр можно указать только для полей, назначение типов которых имеет PlainText значение или HTML . См . справочник по элементу FIELD (Definition). |
/unused |
Выводит список всех полей, которые не используются любым проектом, определенным в коллекции проектов. |
/noprompt |
Отключает запрос на подтверждение. |
/? или help |
Отображает справку о команде в окне командной строки. |
Синхронизация имен пользователей с Active Directory
Необходимо вручную включить синхронизацию всех полей настраиваемых рабочих элементов, которые используются для назначения имен пользователей, ссылающихся на Active Directory. Необходимо включить синхронизацию для каждого поля для каждой коллекции проектов, содержащей настраиваемые поля.
Все системные ссылочные поля, в которых отображаются имена пользователей, имеют syncnamechanges
атрибут true
. К таким полям относятся System.AuthorizedAs, System.AssignedTo, System.ChangedBy и System.CreatedBy. Синхронизация включена для каждого поля имени пользователя, определенного в одном из шаблонов процессов по умолчанию. Дополнительные сведения см. в разделе "Назначения" и поля рабочего процесса.
После включения синхронизации поле больше не отображает статическую строку. Вместо этого в поле отображается имя, связанное с учетной записью пользователя. При изменении имени пользователя в Active Directory или рабочей группе поле с syncnamechanges
параметром true
автоматического показа нового имени.
При назначении атрибута syncnamechanges
в поле String поле всегда принимает допустимые имена пользователей. Однако поле не разрешает имена групп, хранящиеся в Team Foundation Server или в Active Directory, если одно из следующих условий:true
VALIDUSER
Правило указывается во всех типах рабочих элементовVALIDUSER
Правило указано для типа рабочего элементаALLOWEDVALUES
Правило указано для типа рабочего элемента, и это правило имеет критерии фильтра, которые исключают группы.Дополнительные сведения см. в разделе "Все элементы FIELD".
Атрибуты, которые можно изменить для каждого типа рабочего элемента
Измените следующие атрибуты или значения, определенные для поля, изменив определение типа рабочего элемента, в котором отображается поле:
- Имя , отображаемое в форме рабочего элемента. См . справочник по элементам WebLayout и Control или элементу Control.
- Текст справки. Ознакомьтесь с правилами и оценкой правил.
- Допустимые значения или элементы в списке выбора или раскрывающемся меню. См. раздел ALLOWEDVALUES, SUGGESTEDVALUES и ЗАПРЕЩЕННЫЕ XML-элементы.
Примеры
Если иное не указано, в каждом примере применяются следующие значения:
- Универсальный код ресурса (URI) для коллекции проектов: http://AdventureWorksServer:8080/tfs/DefaultCollection
- Имя поля рабочего элемента: AdventureWorks.Field
- Кодировка по умолчанию: UTF-8
Список полей
Используйте 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
Параметр Use указывает имя каждого проекта и тип рабочего элемента, в котором используется поле. Дополнительные сведения об атрибутах полей см. в разделе "Индекс полей рабочего элемента".
Вывод списка всех полей в коллекции проектов
Введите следующую команду, чтобы перечислить все поля, определенные для коллекции проектов.
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection
Отображаются сведения о полях для именованной коллекции проектов. См . индекс полей рабочего элемента.
Список полей, которые не используются
Введите следующую команду, чтобы указать поля, которые больше не используются в коллекции проектов любым типом рабочего элемента.
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
Переименование поля
Вы можете изменить понятное имя поля рабочего элемента, чтобы соответствовать соглашениям об именовании, которые использует ваша команда. Обратите внимание, что новое имя применяется ко всем типам рабочих элементов, ссылающимся на измененные поля во всех проектах в коллекции проектов. Понятное имя отображается при определении критериев фильтра в запросе рабочего элемента. Имя, отображаемое в форме рабочего элемента, может отличаться от понятного имени, определенного для поля.
Переименование поля рабочего элемента
Введите следующую команду, чтобы переименовать понятное имя, назначенное важному
Microsoft.VSTS.Common.Rank
рангу.witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
В командной строке подтверждения введите y и нажмите клавишу ВВОД. Подождите, пока не получите следующее сообщение:
Поле переименовано.
Проверка изменений, импортированных в один проект
В Team Explorer выберите "Обновить".
Последние обновления скачиваются с сервера, в том числе изменения, внесенные только что в имя поля. Подождите несколько секунд, пока обновление завершится.
Выберите новый запрос , чтобы создать запрос.
В Редактор запросов выберите ссылку "Щелкните здесь", чтобы добавить ссылку на предложение, чтобы добавить строку, выбрать пустую ячейку Поля и в ячейке введите ранг. Следующее сообщение, которое отображается над списком результатов. Это сообщение указывает, что не удается найти ранг.
Запустите запрос, чтобы просмотреть результаты запроса. TF51005. Запрос ссылается на поле, которое не существует. Ошибка вызвана рангом<<>>.
Удалите значение ранга из ячейки Поля и введите важный ранг в ячейку.
Выберите <> в ячейке "Оператор" и введите 1 в ячейку "Значение ".
На панели инструментов "Запрос" нажмите кнопку "Выполнить".
Откройте контекстное меню для любой строки в результатах и выберите "Параметры столбца". Прокрутите вниз в списке доступных столбцов . Обратите внимание, что поле ранжирования больше не присутствует, но поле "Важный ранг" присутствует.
Выберите важный ранг в поле "Доступные столбцы" и нажмите > кнопку (добавить выбранные столбцы). Выберите OK.
Обратите внимание, что понятное имя Microsoft.VSTS.Common.Rank было переименовано из ранга в важный ранг в построителе запросов и списке результатов.
Закройте запрос. Нажмите кнопку "Нет ", когда вам будет предложено сохранить запрос.
Создайте рабочий элемент задачи. Выберите ссылку "Новые рабочие элементы" и нажмите кнопку "Задача".
Этот рабочий элемент создается из измененного и импортированного рабочего элемента.
Обратите внимание, что в поле "Состояние" метка для переименованного поля Ранга не изменилась. Это связано с тем, что метки полей в формах рабочих элементов ограничены родительским проектом и не зависят от только что указанного имени поля на уровне сервера.
Примечание.
Дополнительные сведения об изменении меток полей в формах рабочих элементов см . в справочнике по элементу Control XML.
Закройте новую задачу и нажмите кнопку "Нет ", когда появится запрос на сохранение рабочего элемента.
Изменение отчета в качестве значения для поля
Следующая команда указывает возможность сообщать о типе поля DateTime AdventureWorks.CreatedOn в измерение. Данные этого поля входят в базу данных хранилища и служб Analysis Services, чтобы ее можно было использовать для фильтрации отчетов.
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension
Следующая команда указывает возможность сообщать о типе объекта Double field AdventureWorks.Field для измерения. Все меры агрегируются по сумме.
witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure
Включение синхронизации настраиваемого поля имени пользователя
Следующая команда включает синхронизацию для поля рабочего элемента AW. CustomerName, определенный для Collection1 в AdventureWorksServer.
Проверьте тип данных поля, которое требуется преобразовать
Проверьте тип данных, назначенный полю, например MyCompany.CustomerName, который требуется синхронизировать, введя следующую команду:
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName
Включение синхронизации
Чтобы включить синхронизацию для поля с именем пользователя, введите следующую команду, подставив данные для аргументов, отображаемых здесь:
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true
Появится следующая строка подтверждения:
Это изменит свойства поля {0} на Team Foundation Server. Вы действительно хотите продолжить?
Введите 0 , чтобы подтвердить, что вы хотите изменить поле или 1 , чтобы отменить запрос.
Если запрос на изменение выполнен успешно, появится следующее сообщение подтверждения:
Поле было обновлено.
Если запрос на изменение завершается сбоем, появится сообщение об ошибке. Наиболее распространенные ошибки, которые можно сделать, пытаются изменить системное справочное поле или попытаться изменить поле типа данных, отличного от String. Эти операции не поддерживаются.
Удаление поля
Перед удалением поля убедитесь, что поле не используется. Если поле используется, необходимо сначала удалить поле из типов рабочих элементов, которые используют его перед удалением из коллекции проектов. Следующая команда удаляет поле AdventureWorks.Field
из Collection1:
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field
Проверка использования поля
Введите следующую команду, указав имя ссылки для поля рабочего элемента, например
MyCompany.MyProcess.MyField
.witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField
В сведениях, отображаемых для поля, убедитесь, что значение "Не используется", как показано в этом примере.
Field: MyCompany.MyProcess.MyField Name: MyField Type: String Reportable As: dimension Use: Not In Use Indexed: False
Если поле Use указывает, что поле используется, необходимо удалить его из каждого типа рабочего элемента для каждого указанного проекта. Например, поле указывает на то,
Microsoft.VSTS.TCM.SystemInfo
что он используется типами рабочих элементов ошибки и кода для четырех проектов: Arroyo, Пустыня, Палм и Спрингс.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
содержащие имя ссылки на поле. См. сведения о импорте, экспорте и управлении типами рабочих элементов, справочником по элементам FIELD (Definition) и Control.
Удаление поля из коллекции проектов
Введите следующую команду, чтобы удалить MyCompany.MyProcess.MyField
поле, а затем нажмите клавишу ВВОД.
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName
Введите y в запросе на подтверждение, чтобы завершить этот шаг.