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


Общие сведения о процессе синхронизации для интеграции TFS и Project Server

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

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

  • Три типа синхронизации

  • Данные, подлежащие синхронизации

  • Проверка данных, выполняемая во время обновления и при отправке

  • Зеркальные поля и два набора книг

  • Разрешения, необходимые для поддержки синхронизации

  • Уведомления об ошибках, ведение журнала событий и возможность трассировки

Три типа синхронизации

Обработчик синхронизации выполняет три типа синхронизации. Этот процесс выполняет сбор и обновление связанных с задачами и ресурсами данных как в Team Foundation Server, так и в Project Server. При этом соблюдаются права владения данными руководителем проекта в плане проекта. Руководители проекта вносят изменения с помощью Microsoft Project Профессиональный и утверждают обновления с помощью Project Web Access или Project Web App (PWA). Члены команды разработки отправляют обновления в Project Server с помощью клиента Team Foundation.

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

Процесс синхронизации для интеграции Team Foundation Server и Project Server

Процесс синхронизации PS-TFS

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

Синхронизация публикации:

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

Шаг 2Руководитель проекта публикует план корпоративного проекта с помощью Microsoft Project Профессиональный. Изменения автоматически сохраняются в базе данных для Project Server.

Шаг 3Обработчик синхронизации извлекает данные из Project Server и определяет данные для обновления на основе данных, настроенных для синхронизации. Обновляются только объекты, задачи и рабочие элементы, настроенные для синхронизации.

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

Синхронизация состояния:

Шаг 5Руководитель или член команды изменяет в Team Foundation рабочий элемент, связанный с задачей в корпоративном проекте, или создает рабочий элемент и задает для поля Отправить в Project Server значение Да. Обработчик синхронизации запрашивает изменения, внесенные в сопоставленные командные проекты, и отправляет запросы в очередь или очереди утверждений в Project Web Access либо Project Web App (PWA).

Синхронизация утверждений:

Шаг 6Каждый руководитель проекта просматривает очередь утверждений и утверждает либо отклоняет каждый запрос обновления состояния.

Чтобы утвержденные обновления появились в Project Server, руководитель проекта должен опубликовать план проекта.

Важно!

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

Шаг 7Обработчик событий для утверждений в Project Server передает решения об утверждении в обработчик синхронизации, который затем обновляет рабочие элементы в Team Foundation Server на основе состояния утверждения.

К началу

Управление утверждениями и отклонениями

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

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

При отклонении обновлений в поле "Журнал" для рабочего элемента появляется сообщение. В сообщении указывается отклоненное значение и имя руководителя, отклонившего его. В случае командных проектов, сопоставляемых с планами проектов, размещенными в Project Server 2010, в сообщении также содержатся комментарии руководителя проекта относительно причины отклонения элемента. Члены команды должны согласовать рабочий элемент и повторно отправить его или удалить из списка элементов для отправки в корпоративный проект. Кроме того, члены команды могут создать запрос рабочего элемента для поиска всех отклоненных элементов на основе значения в поле Состояние последней отправки Project Server. Для получения дополнительной информации см. Отслеживание отправки рабочих элементов и разрешение отклонений.

Интервалы синхронизации и повтора

Синхронизация данных выполняется по расписанию, а не после обновления каждого рабочего элемента. Служба заданий синхронизации запускается каждые 30 секунд. За это время она запрашивает соответствующие рабочие элементы и поля, измененные в Project Server или Team Foundation Server либо утвержденные руководителем проекта.

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

К началу

Данные, подлежащие синхронизации

Два уровня конфигурации определяют объекты для участия в синхронизации и синхронизируемые данные. Администраторы Team Foundation выполняют несколько уровней сопоставления для настройки объектов, которые могут участвовать в синхронизации. На втором уровне руководители проектов и пользователи Team Foundation определяют, какие конкретные задачи и рабочие элементы синхронизируются.

К началу

Объекты, которые настроены для участия в синхронизации

В указанных ниже конфигурациях определяются объекты для участия в процессе синхронизации. Эти конфигурации обычно настраиваются администраторами Team Foundation. Однако руководители проектов также могут сопоставлять планы корпоративных проектов с командными проектами.

  • Экземпляр PWA, сопоставляемый с коллекцией командных проектов. При этом сопоставлении настраивается коллекция командных проектов для поддержки синхронизации и определяются экземпляры PWA для синхронизации с коллекцией.

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

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

  • Поля рабочих элементов, сопоставляемые с полями Project Server. По умолчанию обработчик синхронизации синхронизирует следующие поля в Team Foundation: "Заголовок", "Кому назначено", "Завершенная работа", "Оставшиеся трудозатраты", "Исходная оценка", "Дата начала" и "Дата окончания". Вы можете добавить поля и задать параметры, определяющие способ синхронизации полей. Например, можно определить поля для отображения в форме рабочего элемента и указать, следует ли разрешать отдельные значения для указанного поля.

Дополнительные сведения см. в разделах Сопоставление компонентов Project Server с компонентами Team Foundation и Задание типов рабочих элементов для синхронизации.

Отдельная задача и рабочие элементы, настроенные для синхронизации

Руководители проекта определяют задачи в плане корпоративного проекта, которые требуется опубликовать в Team Foundation Server. Члены команды определяют рабочие элементы в командном проекте, которые требуется отправить в Project Server. Руководители проектов могут публиковать подробные декомпозиции конечных результатов и задач в TFS или публиковать только элементы суммарной задачи и управлять ими. В отношении публикации подчиненных задач или рабочих элементов типа "родитель-потомок" действуют некоторые ограничения, как описано в разделе Проверка данных, выполняемая во время обновления и при отправке далее в этой статье.

Дополнительные сведения см. в разделах Управление сведениями о проекте в плане корпоративного проекта, сопоставленном командному проекту и Планирование бизнес-требований сверху вниз в плане корпоративного проекта, сопоставленном командному проекту.

Примечание

С одним командным проектом можно сопоставить несколько планов корпоративных проектов, но с одним рабочим элементом в Team Foundation можно сопоставить или связать только одну задачу в плане проекта.Каждая задача в плане корпоративного проекта отличается в Project Server.Задачи, отправленные в Project Server, обновляют только один рабочий элемент в Team Foundation.Кроме того, рабочие элементы, созданные в Team Foundation и отправленные в Project Server, обновляют только один план корпоративного проекта.

Проверка данных, выполняемая во время обновления и при отправке

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

Публикация плана корпоративного проекта руководителем проекта

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

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

    Важно!

    Text30 — это поле Project по умолчанию, связанное со столбцом Тип рабочего элемента, который используется в задачах синхронизации с рабочими элементами.Если план проекта когда-либо подключался к Team Foundation Server с помощью параметра Выбрать командный проект в меню "Команда" ленты, становится доступным для выбора дополнительное поле Project с меткой Тип рабочего элемента.Это поле, значение поля Project которого по умолчанию — Text24, поддерживает сопоставление планов проектов, привязанных к Team Foundation, но не поддерживает синхронизацию планов.Поле, основанное на Text24, содержит полный список типов рабочих элементов для командного проекта.Чтобы проверить правильность поля, можно навести на него указатель мыши и убедиться в том, что отображается значение Text30.

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

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

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

  • Значение поля Имя ресурса задачи должно соответствовать имени допустимого участника целевого командного проекта.

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

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

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

Отправка новых или обновленных рабочих элементов из Team Foundation разработчиками

Если разработчик, работающий в Team Foundation, создает или обновляет рабочий элемент и сохраняет изменения, выполняются указанные ниже проверки рабочих элементов, заданных для публикации в Project Server (то есть Отправить в Project Server = Да).

  • Значение поля Кому назначено должно соответствовать члену команды, который также добавлен в пул корпоративных ресурсов и в ресурсы проекта в плане проекта. Для получения дополнительной информации см. Назначение разрешений для поддержки интеграции TFS и Project Server.

  • Если с командным проектом сопоставляется только один план корпоративного проекта, его имя автоматически отображается в поле Корпоративный проект на вкладке Project Server для только что созданных рабочих элементов.

  • Если с командным проектом сопоставляется несколько корпоративных проектов, необходимо указать значение для поля Корпоративный проект только что созданных рабочих элементов, поле Отправить в Project Server которых имеет значение Да.

  • Изменить иерархическую структуру рабочих элементов после их привязки к задачам Project невозможно. Для получения дополнительной информации см. Summary Tasks, Task Hierarchy, and Submissions of Work Items that Are Nested at Multiple Levels.

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

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

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

К началу

Зеркальные поля и два набора книг

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

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

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

К началу

Разрешения, необходимые для поддержки синхронизации

Для синхронизации данных между Team Foundation Server и Project Server необходимо предоставить указанные ниже разрешения.

  • В Project Server 2010 учетной записи службы, от имени которой выполняется TfsJobAgent, необходимо предоставить разрешения "Полный доступ", чтобы предоставить доступ к приложению-службе Project Server. Для получения дополнительной информации см. Назначение разрешений для поддержки интеграции TFS и Project Server.

  • Учетной записи службы, от имени которой выполняется TfsJobAgent, необходимо предоставить разрешения, требуемые для доступа к каждому сопоставленному экземпляру PWA.

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

Для получения дополнительной информации см. Назначение разрешений для поддержки интеграции TFS и Project Server.

К началу

Уведомления об ошибках, ведение журнала событий и возможность трассировки

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

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

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

  • В Project Профессиональный в строке состояния плана корпоративного проекта отображается ход выполнения публикации.

  • В экземпляре PWA в Центре утверждений отображается очередь обновленных задач.

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

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

  • Журнал событий сервера уровня приложений, участвующего в синхронизации данных, поддерживает запись всех событий и ошибок синхронизации.

Администраторы могут извлечь последние сообщения о событиях с помощью команды TfsAdmin ProjectServer /GetSyncMessages. Для получения дополнительной информации см. Просмотр сообщений об ошибках обработчика синхронизации. Для сбора более подробной информации можно включить подробную трассировку для агента фоновых заданий Team Foundation, в котором выполняются службы. Для получения дополнительной информации см. Агент фоновых заданий Team Foundation.

К началу

См. также

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

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

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

Управление проектами с использованием интеграции TFS и Project Server