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


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

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

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

Предупреждающее замечаниеВнимание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для демонстрации видеозаписи см. на следующей странице веб-сайта Майкрософт: Управление сопоставления полей для интеграции Team Foundation 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.В таблице также показано, какие типы рабочих элементов используются поля на основе шаблонов процесса по умолчанию, которые предоставляет team foundation server.Не следует изменять эти сопоставления, если выполняется сопоставление командному проекту, созданному из шаблона процесса, который основан на базе гибкой разработки программного обеспечения или Capability Maturity Model Integration (CMMI) Process Improvement.Если выполняется сопоставление командному проекту, созданному из шаблона процесса Scrum, потребуется внести несколько изменений согласно описанию в подразделе Необходимые для упрощения при сопоставлении командному проекту, созданному из шаблона процесса Scrum далее в этом разделе.

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

Поле Team Foundation

Поле Project Server

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

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

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

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

Заголовок

Имя задачи

Заголовок

Все

Все

Все

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

Ресурсы

Ресурсы

Все

Все

Все

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

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

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

Задача

Задача

None

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

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

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

Задача

Задача

Задача

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

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

  

Задача

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

None

Дата начала

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

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

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

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

None

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

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

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

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

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

None

К началу

Gg412658.collapse_all(ru-ru,VS.110).gifНеобходимые для упрощения при сопоставлении командному проекту, созданному из шаблона процесса Scrum

2 Изменений необходимо сделать, чтобы включить поток данных из командного проекта, созданного из Scrum 2.0 или шаблона процесса Scrum 1.0.Необходимо добавить завершенной работы и поля в тип рабочего элемента задачи, и необходимо удалить элементы, требующие поле оставшихся трудозатрат будет пуста, когда участник команды изменяет состояние с Операции или Удалено.

Обновление определения типа задач Scrum

  1. Откройте окно командной строки, или Visual Studio или командного обозревателя устанавливаются, введите:

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

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

  2. Чтобы экспортировать определение типа для задачи, введите следующую команду, подставив свои данные вместо показанных аргументов здесь, где CollectionURL указывает URL-адрес коллекции командных проектов, ProjectName определяет имя командного проекта, определенного в коллекции, и "DirectoryPath \ FileName.xml" определяет имя и расположение файла, чтобы экспортировать.Затем выберите Ввод.

    witadmin exportwitd /collection: /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  3. В текстовом редакторе или в Visual Studio, откройте экспортированный файл.

  4. В разделе определения FIELDS добавьте этот фрагмент кода перед элементом для оставшихся трудозатрат.

    <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>
    
  5. В разделе <WORKFLOW>, удалите следующий фрагмент кода от <STATE value="Done"> и от определения <STATE value="Removed">:

    <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
       <EMPTY />
    </FIELD>
    
  6. В разделе <FORM> добавьте следующие элементы 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" />
    
  7. Сохраните и закройте файл.

  8. Импортируйте файл, заменяя данные для показанных аргументов.

    witadmin importwitd /collection: /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    
  9. Обновите командный проект или страница рабочего элемента для изменения.

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

К началу

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

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

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

  • Имя поля в 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.Дополнительные сведения см. в разделе Field Elements and Attributes.

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

К началу

Gg412658.collapse_all(ru-ru,VS.110).gifОграничения данных, которые можно сопоставлять

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

  • Из 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.

К началу

Gg412658.collapse_all(ru-ru,VS.110).gifПример. Сопоставление имени команды для отображения в Project

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

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

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

К началу

Gg412658.collapse_all(ru-ru,VS.110).gifПример. Отображение путей области и итерации в Project

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

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

Текущая реализация интеграции Team Foundation Server и 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="true" displayTfsMirror="true">
            <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.

К началу

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

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

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

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

  1. Для запуска программы командной строки TfsAdmin, чтобы открыть окно командной строки, Visual Studio или Team Explorer устанавливаются, введите:

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

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

  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 или изменения ее расположения в форме вкладка может автоматически не обновляться при последующем внесении изменений в сопоставления полей.В таком случае вкладку можно изменить вручную.Для получения дополнительной информации см. XML-элементы, добавленные в определение типа рабочего элемента.

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

К началу

См. также

Задачи

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

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

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

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