Изменение или добавление пользовательского типа рабочего элемента (WIT)

Как у администратора проекта у вас может возникнуть необходимость в изменении существующих типов рабочих элементов (WIT) для поддержки дополнительных требований к отслеживанию или рабочих процессов. К наиболее распространенным причинам изменения типа рабочего элемента относятся добавление или изменение набора полей или правил полей, изменение рабочего процесса или настройка формы рабочего элемента. Эти три причины соответствуют трем основным разделам XML-файла определения типа рабочего процесса: FIELDS, WORKFLOW и FORM.

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

Типы рабочих элементов, настройка

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

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

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

<Control FieldName="System.ID" Type="FieldControl" Label="ID" LabelPosition="Left" />

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

Изменение состояний, причин или переходов рабочих процессов либо добавление правил полей рабочего процесса

В подразделах STATES и REASONS раздела WORKFLOW определяются значения списка выбора в полях Состояние и Причина. Они позволяют отслеживать состояние рабочих элементов. В разделе TRANSITIONS указываются допустимые переходы между состояниями, как показано на следующем рисунке. Необходимо указать как переходы вперед, так и переходы назад.

Пример диаграммы состояний рабочего процесса

Состояния рабочего пользовательской Истории, шаблон процесса Agile

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

  • Добавление или удаление состояния, причины или перехода.

  • Указание значения для поля, которое следует применять при изменении состояния, причины или перехода.

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

При настройке рабочего процесса выполните следующие действия.

  1. Изменение параметров WORKFLOW в определении WIT.

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

    Этот второй шаг необходим в следующих обстоятельствах.

    • При изменении рабочего процесса для типа рабочего элемента, отображаемого на странице средства гибкого планирования. Эти типы рабочих элементов принадлежат к категории "Требование" или "Задача". Дополнительные сведения о настройке этих средств см. в разделе Настройка средств планирования Agile для командного проекта.

    • При изменении рабочего процесса для плана тестирования или набора тестов и работе в клиенте Test Manager, предоставленном Visual Studio 2013.2 или более ранней версии. Эти типы рабочих элементов становятся доступными после обновления сервера уровня приложения до TFS 2013.3. который отображается на странице средства гибкого планирования.

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

Правила полей рабочего процесса

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

Например, если добавить правило EMPTY, когда установлено состояние "Активно", можно автоматически установить значения NULL в полях "Дата закрытия" и "Кем закрыт" и сделать их доступными только для чтения. Это полезно при реактивации рабочего элемента из закрытого состояния.

<STATE value="Active">
   <FIELDS>
. . .
      <FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
      <FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
   </FIELDS>
</STATE>

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

  • Укажите допустимое значение поля, задав значения CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY и REQUIRED.

  • Скопируйте значение в поле с помощью COPY, DEFAULT и SERVERDEFAULT.

  • Ограничьте список пользователей, которые могут изменять поле.

  • Примените сопоставление шаблонов в строковом поле с помощью MATCH.

  • Условно примените правила на основе значений в других полях с помощью WHEN, WHENNOT, WHENCHANGED и WHENNOTCHANGED.

  • Можно ограничить правила и применять их только к конкретным пользователям или группам. Большинство правил поддерживают атрибуты for или not, указывая, к кому применяется, а к кому не применяется правило.

Дополнительные сведения о применении правил полей рабочего процесса см. в разделе Элемент FIELD (рабочий процесс).

Настройка формы рабочего элемента

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

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

Форму WIT можно изменять для достижения следующих целей.

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

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

Процесс настройки объекта WIT

С помощью witadmin можно импортировать и экспортировать файлы определения. К другим инструментам, с помощью которых можно изменять XML-синтаксис объектов, относятся редактор процессов, доступный при загрузке инструментов TFS Power Tools или диспетчер TFS Team Project Manager — проект ресурсов сообщества на CodePlex.

  1. Если у вас нет прав администратора для командного проекта, получите их.

  2. Откройте окно командной строки там, где установлены Visual Studio или Team Explorer, и введите следующее:

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

    В 64-разрядной версии Windows замените %programfiles% на %programfiles(x86)%. Перейдите сюда, чтобы загрузить Team Explorer бесплатно.

  3. Экспортируйте файл определения WIT, в котором нужно изменить или добавить поле. Укажите имя объекта WIT и имя файла.

    witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:TypeName /f:"DirectoryPath/FileName.xml"
    

    Пример CollectionURL— http://MyServer:8080/tfs/TeamProjectCollectionName.

  4. Измените файл. Дополнительные сведения см. в разделе Отслеживание рабочих элементов. Указатель определений XML-элементов.

  5. Импортируйте файл определения WIT.

    witadmin importwitd /collection:CollectionURL /p:ProjectName /f:"DirectoryPath/FileName.xml"
    
  6. Откройте TWA или Team Explorer для просмотра изменений. Если клиент уже открыт, обновите страницу.

    В Team Explorer нажмите кнопку Обновить Обновить.

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

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

Вопросы и ответы

В. Как работать с тегами?

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

Вопрос. Какие настройки я могу сделать, не отказываясь от использования мастера настройки компонентов для обновления командного проекта после обновления TFS?

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

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

В. Как добавить новый тип рабочего элемента?

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

В. Можно ли переименовать тип рабочего элемента?

Ответ. Да. Чтобы переименовать существующий объект WIT, используйте команду witadmin renamewitd. Например, можно переименовать объект WIT с меткой "QoS Item" to "Service Agreement".

witadmin renamewitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"QoS Item" /new:"Service Agreement"

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

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

В. Как деактивировать или отключить тип рабочих элементов?Как запретить пользователям создавать рабочие элементы определенного типа?

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

<TRANSITION from=" " to="New">
   <FIELDS>
     <FIELD refname="System.CreatedBy">
         <VALIDUSER not="[Team Project Name]Project Valid Users" />
     </FIELD>
   </FIELDS>
</TRANSITION> 

Если требуется ограничить создание рабочих элементов определенного типа для группы пользователей, есть два способа ограничения доступа:

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

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

    <TRANSITION from=" " to="New">
       <FIELDS>
         <FIELD refname="System.CreatedBy">
             <VALIDUSER for="Allowed Group" not="Disallowed Group" />
         </FIELD>
       </FIELDS>
    </TRANSITION> 
    

В. Как удалить тип рабочего элемента?

О. Чтобы запретить членам команды использовать указанный тип рабочего элемента для создания рабочего элемента, можно удалить его из командного проекта. С помощью witadmin destroywitd можно безвозвратно удалить все рабочие элементы, созданные с помощью этого типа рабочего элемента, а также сам тип рабочего элемента. Например, если команда не использует рабочий элемент "Препятствие", можно удалить тип рабочего элемента "Препятствие" из проекта веб-сайта Fabrikam.

witadmin destroywitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"Impediment" 

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

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

В. Можно ли изменить цвет, связанный с типом рабочего элемента?

Ответ. Да. В Team Web Access рабочие элементы отображаются в результатах запросов и на страницах невыполненной работы и досок задач инструментов планирования Agile. Чтобы изменить цвет, связанный с существующим объектом WIT, или добавить цвет для нового WIT, измените конфигурацию процесса.

Назначение цветов различным типам рабочих элементов

В. Можно ли добавить или переименовать тип рабочего элемента из невыполненной работы или доски задач?

Ответ. Да. Средства планирования Agile (невыполненная работа по продукту, невыполненная работа спринта и страницы доски задач) содержат определенные типы рабочих элементов, основанные на шаблоне процесса, с помощью которого был создан командный проект. Вы можете добавлять и удалять объекты WIT, отображаемые на этих страницах. Например, если командный проект использует объекты WIT для модели Scrum, на страницах невыполненной работы отображаются как элементы невыполненной работы по продукту, так и ошибки. Если же командный проект был создан с помощью шаблона процесса Agile, CMMI или другого шаблона, ошибки не отображаются в невыполненной работе или на доске задач.

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

Обновленная панель с добавленным типом рабочего элемента "ошибка"

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

В. Как изменение типа рабочего элемента влияет на существующие рабочие элементы?

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

Действие

Влияние на существующие рабочие элементы

Удаление полей из типа рабочего элемента

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

Переименование поля

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

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

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

Переименование объекта WIT

Все данные сохраняются без изменений под новым именем.

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

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

Если требуется полностью удалить поля из хранилища данных, используйте программу командной строки witadmin deletefield. См. раздел Управление полями рабочих элементов [witadmin].

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

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

Скопируйте рабочий элемент и укажите новый тип

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

В. Можно ли удалить рабочие элементы из TFS?

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

В. Что следует знать о настройке типов рабочих элементов и обновлениях TFS?

О. См. раздел Обновление обновленного командного проекта для доступа к новым функциям.

В. Куда можно обратиться с другим вопросом?

Ответ. Чтобы найти ответы или задать вопросы, посетите форум Team Foundation Server — Project Management & Work Item (Team Foundation Server: управление проектами и рабочими элементами).

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

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