다음을 통해 공유


TFS와 Project Server 통합에서 Project Server 필드 매핑에 대한 제한 사항

Visual Studio Team Foundation Server (TFS) 과 Microsoft Project Server 간의 데이터 동기화에 참여할 필드를 추가하는 경우 제한된 필드를 매핑하지 않도록 해야 합니다. 팀 프로젝트 컬렉션에 대한 필드 매핑을 사용자 지정하여 필드를 매핑할 수 있습니다. Project에서 기본 제공 필드와 사용자 지정 필드를 모두 매핑할 수 있습니다. 이러한 필드 중 일부는 상태 큐에만 매핑할 수 있으며 일부 필드는 TFS에만 매핑할 수 있습니다. 일반적으로 Team Foundation Server 의 리소스 수준 정보인 pjResource* 필드를 tfsToTarget 요소 내에서 Project Server에 매핑하고, Project Server의 작업 수준 정보인 pjTask* 필드만 요소 내에서 targetToTfs 에 매핑해야 합니다. 자세한 내용은 TFS와 Project Server 통합을 위한 필드 매핑 XML 요소 참조을 참조하십시오.

또한 이 항목에서 설명하는 조건에 따라 매핑되는 기본 제공 및 사용자 지정 필드 모두의 데이터 형식이 일치해야 합니다. 기본 제공 필드에 대 한 자세한 내용은 사용 가능한 필드 참조를 확인하세요.

항목 내용

  • 측정 단위 및 이름 바꾸기에 대한 제한 사항

  • 작업 이름 및 작업 항목 제목 필드

  • 상태 큐에 매핑할 수 있는 필드

  • Project Server에서 Team Foundation으로만 매핑할 수 있는 필드

  • 매핑이 제한된 필드

  • 데이터 형식 및 필드 매핑 조건

측정 단위 및 이름 바꾸기에 대한 제한 사항

데이터 동기화에 참여하는 필드의 매핑에는 다음과 같은 제한 사항이 적용됩니다.

  • 매핑된 필드의 단위를 사용자 지정할 수는 없습니다. 예를 들어 pjResourceAssignmentUnits 를 필드 매핑에 추가하면 백분율 단위를 사용하여 추가되며 해당 단위를 변경할 수 없습니다.

  • 완료 날짜 (pjFinishDate) 필드를 매핑에 추가할 수는 있지만 Team Foundation 에서 설정하는 값은 Project Server에 전송되지 않습니다. 이러한 제한은 의도된 것입니다. 프로젝트 관리자는 Enterprise 프로젝트 계획에서 완료 날짜를 설정해야 합니다.

  • Project에서 ActiveTfsAssignment(TFS) 필드의 이름을 바꾼 후 Enterprise 프로젝트 계획을 게시하려고 하면 유효성 검사 확인 대화 상자가 나타납니다. 이 문제를 해결하려면 필드 이름을 원래 이름으로 바꿔야 합니다.

작업 이름 및 작업 항목 제목 필드

프로젝트 이름 (pjTaskName)은 Project Server에서 Team Foundation 및 상태 큐에 매핑되는 유일한 필드입니다. 이 필드는 Team Foundation의 제목(System.Title) 필드에 매핑됩니다. 다른 필드는 Team Foundation Server 및 상태 큐 모두에 매핑할 수 없습니다. 양방향 매핑을 사용하면 Enterprise 프로젝트 계획과 팀 프로젝트 모두의 변경 내용을 두 방향으로 모두 전달할 수 있습니다.

다음 필드 매핑 코드에서는 이 매핑을 보여 줍니다.

<field tfsName="System.Title" tfsMirrorName="Mirror.System.Title" displayTfsField="false" displayTfsMirror="false" onConflict="PSWin">
   <tfsToTarget>
      <target provider="ProjectServerStatusQueue" name="pjTaskName" />
   </tfsToTarget>
   <targetToTfs>
      <target provider="ProjectServerPublished" name="pjTaskName" />
   </targetToTfs>
</field>

상태 큐에 매핑할 수 있는 필드

Project Server의 다음 리소스 관련 필드를 상태 큐에 매핑할 수 있습니다. tfsToTarget 요소 내에서 이러한 필드를 필드 매핑에 추가하여 상태 업데이트를 Project Server로 보낼 수 있습니다.

  • pjResourceActualFinish

  • pjResourceActualOvertimeWork

  • pjResourceActualStart

  • pjResourceActualWork

  • pjResourceAssignmentUnits

  • pjResourceConfirmed

  • pjResourceFinish

  • pjResourceOvertimeWork

  • pjResourcePercentWorkComplete

  • pjResourceRegularWork

  • pjResourceRemainingOvertimeWork

  • pjResourceRemainingWork

  • pjResourceStart

  • pjResourceUpdatesNeeded

  • pjResourceWork

다음 예제에서는 Project Server 리소스 작업 필드가 상태 큐 대상에 대해 Team Foundation 의 MSFT.MappedTopjResourceWork 필드에 매핑됩니다.

<field tfsName="MSFT.MappedTopjResourceWork" tfsMirrorName="Mirror.MSFT.MappedTopjResourceWork" displayTfsField="true" displayTfsMirror="true">
   <tfsToTarget>
       <target provider="ProjectServerStatusQueue" name="pjResourceWork" />
   </tfsToTarget>
</field>

리소스 관련 필드와 작업 관련 필드의 매핑을 결합하여 전체 매핑을 구성할 수도 있습니다. 다음 예제에서는 pjTaskWork 필드가 targetToTfs 요소 내에서 매핑되어 완전한 라운드트립 매핑을 제공합니다.

<field tfsName="MSFT.MappedTopjResourceWork" tfsMirrorName="Mirror.MSFT.MappedTopjResourceWork" displayTfsField="true" displayTfsMirror="true">
   <tfsToTarget>
       <target provider="ProjectServerStatusQueue" name="pjResourceWork" />
   </tfsToTarget>
   <targetToTfs>
       <target provider=" ProjectServerPublished" name="pjTaskWork"/>
   </targetToTfs>
</field>

Project Server에서 Team Foundation으로만 매핑할 수 있는 필드

Project Server의 다음 작업 관련 필드를 Team Foundation Server에 매핑할 수 있습니다. 작업 관련 필드와 리소스 관련 필드의 매핑을 결합하여 전체 매핑을 구성할 수도 있습니다.

  • pjTaskActualCost

  • pjTaskActualDuration

  • pjTaskActualFinish

  • pjTaskActualOvertimeCost

  • pjTaskActualOvertimeWork

  • pjTaskActualStart

  • pjTaskActualWork

  • pjTaskACWP

  • pjTaskBCWP

  • pjTaskBCWS

       

  • pjTaskBudgetCost

  • pjTaskBudgetWork

  • pjTaskCost

  • pjTaskCPI

  • pjTaskCreated

  • pjTaskCV

  • pjTaskCVPercent

  • pjTaskDeadline

  • pjTaskDuration

  • pjTaskDuration1

  • pjTaskDurationVariance

  • pjTaskEAC

  • pjTaskEarlyFinish

  • pjTaskEarlyStart

  • pjTaskExternalTask

  • pjTaskFinish

  • pjTaskFinishVariance

  • pjTaskFixedCost

  • pjTaskFreeSlack

  • pjTaskHyperlink

       

  • pjTaskHyperlinkAddress

  • pjTaskHyperlinkSubAddress

  • pjTaskIgnoreResourceCalendar

  • pjTaskLateFinish

  • pjTaskLateStart

  • pjTaskOverallocated

  • pjTaskOvertimeCost

  • pjTaskOvertimeWork

  • pjTaskPercentComplete

  • pjTaskPercentWorkComplete

  • pjTaskPhysicalPercentComplete

  • pjTaskPriority

  • pjTaskRecurring

  • pjTaskRegularWork

  • pjTaskRemainingCost

  • pjTaskRemainingOvertimeCost

  • pjTaskRemainingOvertimeWork

  • pjTaskRemainingWork

  • pjTaskSPI

  • pjTaskStart

       

  • pjTaskStartVariance

  • pjTaskSummary

  • pjTaskSV

  • pjTaskSVPercent

  • pjTaskTCPI

  • pjTaskTotalSlack

  • pjTaskVAC

  • pjTaskWork

  • pjTaskWorkVariance

  • pjTaskBaselineCost

  • pjTaskBaselineWork

  • pjTaskBaselineBudgetCost

  • pjTaskBaselineBudgetWork

  • pjTaskBaselineDuration

  • pjTaskBaselineStart

  • pjTaskBaselineFinish

       

  • pjTaskBaseline1Cost

  • pjTaskBaseline1Work

  • pjTaskBaseline1BudgetCost

  • pjTaskBaseline1BudgetWork

  • pjTaskBaseline1Duration

  • pjTaskBaseline1Start

  • pjTaskBaseline1Finish

       . . . 

  • pjTaskBaseline10Cost

  • pjTaskBaseline10Work

  • pjTaskBaseline10BudgetCost

  • pjTaskBaseline10BudgetWork

  • pjTaskBaseline10Duration

  • pjTaskBaseline10Start

  • pjTaskBaseline10Finish

다음 예제에서는 Project Server 리소스 작업 필드가 Team Foundation Server 대상에 대해 Team Foundation 의 MSFT.MappedTopjTaskBaseline1Start 필드에 매핑됩니다.

<field tfsName="MSFT.MappedTopjTaskBaseline1Start" tfsMirrorName="Mirror.MSFT.MappedTopjTaskBaseline1Start" displayTfsField="true" displayTfsMirror="true">
   <targetToTfs>
       <target provider="ProjectServerPublished" name="pjTaskBaseline1Start" />
   </targetToTfs>
</field>

매핑이 제한된 필드

다음 Project Server 필드는 매핑이 제한되어 있습니다. Team Foundation 과 Project Server 간의 필드 매핑에 이러한 필드를 추가하면 안 됩니다.

  • pjResourceID

  • pjResourceNotes

  • pjTaskCalendar

  • pjTaskCalendarGUID

  • pjTaskCommitmentFinish

  • pjTaskCommitmentGuid

  • pjTaskCommitmentStart

  • pjTaskCommitmentType

  • pjTaskConfirmed

  • pjTaskConstraintDate

  • pjTaskConstraintType

  • pjTaskContact

  • pjTaskCritical

  • pjTaskDelay

  • pjTaskHyperlinkScreenTip

  • pjTaskID

  • pjTaskLevelCanSplit

  • pjTaskLevelDelay

  • pjTaskNotes

  • pjTaskParentTask

  • pjTaskPreleveledFinish

  • pjTaskPreleveledStart

  • pjTaskProject

  • pjTaskResume

  • pjTaskRollup

  • pjTaskStartSlack

  • pjTaskStop

  • pjTaskSubproject

  • pjTaskSubprojectReadOnly

  • pjTaskSuccessors

  • pjTaskUniqueID

  • pjTaskWBS

데이터 형식 및 필드 매핑 조건

Team Foundation Server 의 필드를 Project Server에 매핑하는 경우에는 다음 표에 간략히 설명된 조건에 따라 Project Server 필드의 데이터 형식과 Team Foundation 필드에 대해 정의된 데이터 형식이 일치해야 합니다. 이 항목 앞부분에 나열된 기본 제공 필드 외에도 사용자 지정 엔터프라이즈 작업 형식 필드를 만들고 이러한 필드를 매핑하여 한 방향 또는 양방향 동기화를 지원할 수 있습니다. 사용자 지정 필드의 경우 표의 세 번째 열에 표시된 대로 필드의 데이터 형식이 일치해야 합니다. 자세한 내용은 Enterprise 사용자 정의 필드 및 코드 체계표를 만들기를 확인하세요.

참고

작업 및 작업(task) 기간은 시 단위로 지정됩니다.단위를 사용자 지정할 수는 없습니다.

Team Foundation Server

Project Server의 기본 제공 필드

Project Server 사용자 지정 엔터프라이즈 필드

DateTime

날짜

날짜

Double

작업, 비용, 기간, 개수, 백분율

숫자, 비용, 기간

Integer

개수, 백분율

숫자

문자열

텍스트

텍스트

TreePath

텍스트

텍스트

참고 항목

개념

TFS와 Project Server 통합을 위한 필드 매핑 XML 요소 참조

기타 리소스

TFS와 Project Server 간 필드 매핑 사용자 지정