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


Настройка сопоставления полей между Project Server и Team Foundation Server

Для синхронизации данных плана корпоративного проекта и командного проекта необходимо связать поля рабочих элементов в Visual Studio Team Foundation Server 2010 с полями в Microsoft Project Server 2007 или Project Server 2010. Поля можно добавить и указать способ их синхронизации, настроив сопоставления полей. Можно сопоставлять как встроенные, так и настраиваемые поля в Project. Например, можно совместно использовать данные, не связанные с расписаниями (такие как центры затрат, имена команд или состояние работоспособности) при добавлении полей с этими типами данных в сопоставления.

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

Предупреждение

Сопоставления для интеграции Team Foundation Server и Project Server отличаются от файла сопоставления для Microsoft Project.Дополнительные сведения см. в разделе Файл сопоставления полей Microsoft Project.

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

Настройка сопоставлений полей Team Foundation Server и Project Server

Рабочий процесс для сопоставления полей PS-TFS

Важно!

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

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

  • Сопоставления по умолчанию

  • Определение дополнительных полей для сопоставления

  • Загрузка сопоставлений в файл

  • Обновление сопоставлений

  • Отправка сопоставлений

  • (Необязательно) Настройка вкладки Project Server

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

Чтобы выполнить процедуры, указанные в этом разделе, необходимо задать для разрешения Администрирование интеграции с Project Server значение Разрешить. Кроме того, учетной записи службы для Team Foundation Server необходимо предоставить разрешение Администрирование интеграции с Project Server. Дополнительные сведения см. в разделе Назначение разрешений для поддержки интеграции Project Server и Team Foundation Server.

Сопоставления по умолчанию

Сопоставления определяют поля для синхронизации после обновления пользователем сведений в Team Foundation или Project Server. Каждый из следующих типов синхронизации имеет собственный набор сопоставлений.

  • При синхронизации публикации данные в Project Server обновляют данные в Team Foundation. Для указания поля в Project Server, которое обновляет поле в Team Foundation, используется элемент targetToTfs.

  • При синхронизации состояния данные в Team Foundation отправляются в очередь состояний в Project Server. Для указания поля, которое обновляет поле очереди состояний в Project Server, используется элемент tfsToTarget.

Дополнительные сведения об этих двух типах синхронизации см. в разделе Общие сведения о процессе синхронизации для интеграции Team Foundation Server и Project Server.

В следующей таблице указан набор полей по умолчанию, сопоставляемый между Team Foundation и Project Server. В таблице также показано, какие типы рабочих элементов используют эти поля в зависимости от трех шаблонов проекта для Microsoft Solutions Framework (MSF). Если выполняется сопоставление командному проекту, созданному из шаблона процесса на базе гибкой разработки программного обеспечения версии 5.0 или Capability Maturity Model Integration (CMMI) Process Improvement версии 5.0, эти сопоставления изменять не следует. Если выполняется сопоставление командному проекту, созданному из шаблона процесса Scrum 1.0, потребуется внести несколько изменений согласно описанию в подразделе Изменение сопоставлений полей при сопоставлении командному проекту, созданному с использованием шаблона процесса Scrum 1.0, далее в этом разделе.

Дополнительные сведения о сопоставлениях и процессе синхронизации см. в разделе Справка по XML-элементу сопоставления полей для интеграции Team Foundation Server и Project Server.

Поле Team Foundation

Поле Project Server

Поле очереди состояний

Типы рабочих элементов в Agile 5.0

Типы рабочих элементов в CMMI 5.0

Типы рабочих элементов в Scrum 1.0

Название

Имя задачи

Название

Все

Все

Все, кроме спринта

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

Ресурсы

Ресурсы

Все

Все

Все, кроме спринта

Завершенная работа

Фактические трудозатраты задачи

Фактические трудозатраты ресурса

Задача

Задача

Отсутствует

Оставшаяся работа

Оставшиеся трудозатраты задачи

Оставшиеся трудозатраты ресурса

Задача

Задача

Задача

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

Базовые трудозатраты

Базовые трудозатраты

Задача

Ошибка, запрос на изменение, проблема, требование, риск и задача

Отсутствует

Дата начала

Начало задачи

Начало ресурса

Задача и пользовательское определение функциональности

Задача и требование

Спринт

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

Окончание задачи

Окончание ресурса

Задача и пользовательское определение функциональности

Задача и требование

Спринт

К началу

Добавление полей в типы рабочих элементов при сопоставлении командному проекту, созданному из шаблона процесса Scrum 1.0

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

Для добавления этих полей необходимо экспортировать тип задачи рабочего элемента из командного проекта и затем для каждого поля добавить элемент FIELD в раздел FIELDS. Можно также добавить элемент Control в раздел FORM. Можно добавить следующие элементы FIELD:

<FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">
   <HELPTEXT>The number of units of work that have been spent on this task</HELPTEXT>
</FIELD>
<FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">
   <HELPTEXT>Initial value for Remaining Work - set once, when work begins. </HELPTEXT>
</FIELD>

Можно также добавить следующие элементы Control:

<Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate:" LabelPosition="Left" />
<Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed:" LabelPosition="Left" />

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

К началу

Определение дополнительных полей для сопоставления

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

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

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

  • Имя поля Team Foundation Server, которое должно быть обновлено в Project Server, и имя поля Project Server, которое обновит зеркальное поле в Team Foundation Server.

  • Отображать ли поля в форме рабочего элемента. Чтобы поле отображалось в форме рабочего элемента, необходимо присвоить его атрибуту displayTfsField значение true. Атрибуту displayTfsMirror присваивается значение true для формы рабочего элемента.

  • Устранять конфликты данных, разрешая перезапись значения поля в Project Server значением поля в Team Foundation, или поддерживать оба значения. От решения этого вопроса зависит значение атрибута onConflict. Если задано onConflict=”PsWins”, значение поля в Project Server перезаписывает значение поля в Team Foundation. Дополнительные сведения см. в разделе Атрибуты и элементы поля.

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

К началу

Ограничения данных, которые можно сопоставлять

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

  • Из Project Server в Team Foundation Server можно отправить только сведения уровня задач (поля pjTask*).

  • Из Team Foundation Server в очередь состояний Project Server можно отправить только сведения уровня ресурсов (поля pjResource*).

  • Поле "Название" — единственное поле, которое можно отправить и в Team Foundation Server, и в очередь состояний.

  • Свертка автоматически вычисляется для полей "Кому назначено", "Завершенная работа" и "Оставшиеся трудозатраты". Невозможно сопоставить дополнительные поля и рассчитать для них свертку. Дополнительные сведения см. в разделе Работа со сверткой ресурсов в корпоративных проектах, сопоставленных командным проектам.

  • Необходимо убедиться, что типы данных или элементы каждого сопоставляемого поля соответствуют критериям сопоставления стандартных и настраиваемых корпоративных полей. Дополнительные сведения см. в подразделе "Типы данных и критерии сопоставления полей" раздела Ограничения на сопоставление полей Project Server при интеграции с Team Foundation Server.

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

Дополнительные сведения см. в разделе Ограничения на сопоставление полей Project Server при интеграции с Team Foundation Server.

К началу

Пример. Сопоставление имени команды для отображения в Project

В следующем примере настраиваемое строковое поле в Team Foundation (MyCompany.MyOrg.DevTeamName) сопоставляется корпоративному настраиваемому текстовому полю в Project Server (pjMyCompanyTeamName). Этот пример можно использовать для отображения в Project Professional имени команды, связанной с задачей.

<field tfsName="MyCompany.MyOrg.DevTeamName" tfsMirrorName="Mirror.MyCompany.MyOrg.DevTeamName" displayTfsField="false" displayTfsMirror="false" onConflict="DoNothing">
   <tfsToTarget>
   v<target provider="ProjectServerStatusQueue" name=" pjMyCompanyTeamName" />
   </tfsToTarget>
   <targetToTfs>
      <target provider="ProjectServerPublished" name=" pjMyCompanyTeamName" />
   </targetToTfs>
</field>

Ни одно из полей не отображается в форме рабочего элемента. Кроме того, если значения не совпадают, в каждом поле сохраняется его собственное значение.

К началу

Пример. Отображение путей области и итерации в Project

Можно сопоставить поля Область (System.AreaPath) и Итерация (System.IterationPath) в Team Foundation, чтобы они отображались в планах проектов. Поскольку эти поля иерархических путей часто изменяются, их необходимо сопоставлять в качестве текстовых полей в Project. Руководители проекта, использующие эти поля, должны вручную ввести полный путь к области или путь итерации.

Важно!

Текущая реализация интеграции Visual Studio Team Foundation Server 2010 и Project Server не поддерживает автоматическую синхронизацию списков допустимых значений, списков выбора, глобальных списков или списков иерархических путей, определенных для сопоставленных полей в двух серверных продуктах.Чтобы обеспечить максимальную эффективность работы, необходимо вручную вводить в план проекта данные, соответствующие введенным данным в Team Foundation.Если задана недопустимая запись, при публикации плана отображается диалоговое окно проверки.

Для добавления полей "Область" и "Итерация" в план проекта выполните следующие действия:

  1. Добавьте в Project Server два настраиваемых корпоративных поля и пометьте их как Область (TFS) и Итерация (TFS).

    Дополнительные сведения см. на следующей странице веб-сайта Майкрософт: Creating Lookup Tables and Enterprise Custom Fields.

  2. Экспортируйте из коллекции командных проектов сопоставления полей, в которой определены командные проекты.

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

  3. Добавьте в этот файл следующий код:

    <field tfsName="System.AreaPath" tfsMirrorName="Mirror.System.AreaPath" displayTfsField="true" displayTfsMirror="true">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Area (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Area (TFS)" />
            </targetToTfs>
          </field>
          <field tfsName="System.IterationPath" tfsMirrorName="Mirror.System.IterationPath" displayTfsField="false" displayTfsMirror="false">
            <tfsToTarget>
              <target provider="ProjectServerStatusQueue" name="Iteration (TFS)" />
            </tfsToTarget>
            <targetToTfs>
              <target provider="ProjectServerPublished" name="Iteration (TFS)" />
            </targetToTfs>
          </field>
    
  4. Импортируйте обновленный файл сопоставлений полей, следуя инструкциям в подразделе Отправка сопоставлений далее в этом разделе.

  5. Синхронизируйте план проекта с Project Server.

  6. Добавьте в план проекта два новых столбца для новых полей — "Область (TFS)" и "Итерация (TFS)".

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

К началу

Загрузка сопоставлений в файл

Примечание

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

Загрузка сопоставлений в файл

  1. На компьютере, на котором выполняется Сред. Командный обозреватель и пакет обновления 1 (SP1) для Visual Studio Team Foundation Server 2010, откройте окно командной строки и измените каталог, содержащий программу командной строки TFSAdmin.

    По умолчанию программа расположена в папке диск:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE. На 64-разрядных компьютерах это средство находится в папке Диск:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE.

  2. В командной строке введите следующую команду и нажмите клавишу ВВОД.

    TfsAdmin ProjectServer /DownloadFieldMappings /collection:tpcUrl /filepath:MappingFile 
    

    Замените URL-адрес_TPC на URL-адрес коллекции командных проектов, а файл_сопоставления на путь и имя файла, который требуется настроить.

  3. Дождитесь появления следующих сообщений.

    Загрузка файл_сопоставления в коллекцию командных проектов URL-адрес_коллекции_командных_проектов.

    Загрузка файла сопоставления полей файл_сопоставления в коллекцию командных проектов URL-адрес_коллекции_командных_проектов успешно завершена.

К началу

Обновление сопоставлений

Для каждого поля, которое требуется добавить в файл сопоставления, укажите элемент field, его подэлементы и атрибуты. Дополнительные сведения см. в разделе Справка по XML-элементу сопоставления полей для интеграции Team Foundation Server и Project Server.

К началу

Отправка сопоставлений

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

Отправка сопоставлений по умолчанию

  1. В командной строке введите следующую команду и нажмите клавишу ВВОД.

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /usedefaultfieldmappings
    

    Замените URL-адрес_TPC на URL-адрес коллекции командных проектов.

  2. Дождитесь появления следующих сообщений.

    Отправка сопоставлений полей по умолчанию в URI_коллекции.

    Отправка сопоставлений полей в коллекцию URI_коллекции успешно завершена.

Отправка сопоставлений из файла

  1. В командной строке введите следующую команду, после чего нажмите клавишу ВВОД.

    TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /filepath:MappingFile /force
    

    Замените URL-адрес_TPC на URL-адрес коллекции командных проектов, а файл_сопоставления на путь и имя пользовательского файла сопоставления. Укажите /force при обновлении существующих сопоставлений.

  2. Дождитесь появления следующих сообщений.

    Отправка файл_сопоставления в коллекцию командных проектов URL-адрес_коллекции_командных_проектов.

    Отправка файла сопоставления полей файл_сопоставления в коллекцию командных проектов URL-адрес_коллекции_командных_проектов успешно завершена.

К началу

Настройка вкладки Project Server

При связывании плана корпоративного проекта с командным проектом вкладка Project Server добавляется в форму рабочего элемента, как показано на следующем рисунке. Вкладка добавляется только в те типы рабочих элементов, которые выбраны для участия в синхронизации данных. Эта вкладка настраивается путем присвоения атрибутам displayTfsField и displayTfsMirror значения true для полей, которые должны отображаться в форме.

Вкладка Project Server

Поля Project Server по умолчанию

Важно!

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

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

К началу

См. также

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

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

Настройка интеграции Team Foundation Server и Project Server

Администрирование интеграции Team Foundation Server и Project Server