Project Server와 Team Foundation Server 간의 필드 매핑 사용자 지정
Enterprise 프로젝트 계획과 팀 프로젝트 간에 데이터를 동기화하려면 Visual Studio Team Foundation Server 2010의 작업 항목 필드를 Microsoft Project Server 2007 또는 Project Server 2010의 필드와 연결해야 합니다. 필드를 추가할 수 있으며, 필드 매핑을 사용자 지정하여 필드의 동기화 방법을 지정할 수 있습니다. Project에서 기본 제공 필드와 사용자 지정 필드를 모두 매핑할 수 있습니다. 예를 들어 코스트 센터, 팀 이름 또는 상태와 같은 형식의 데이터를 저장하는 필드를 매핑에 추가하면 일정과 관련 없는 이러한 데이터를 공유할 수 있습니다.
Project Server와 동기화하려는 팀 프로젝트를 호스팅하는 각 팀 프로젝트 컬렉션에 대한 하나의 필드 매핑 집합을 유지 관리합니다. PWA(Project Web Access 또는 Project Web App) 인스턴스에 매핑한 각 팀 프로젝트 컬렉션에 대한 필드 매핑을 정의해야 합니다. 기본 매핑을 업로드하거나, 매핑 파일을 사용자 지정한 다음 업로드할 수 있습니다. 기본 매핑을 업로드하려면 이 항목의 뒷부분에 나오는 매핑 업로드를 참조하십시오.
경고
Team Foundation Server와 Project Server의 통합을 위한 필드 매핑은 Microsoft Project용 매핑 파일과 다릅니다. 자세한 내용은 Microsoft Project 필드 매핑 파일을 참조하십시오.
다음 그림과 같이 5개 단계로 매핑을 사용자 지정할 수 있습니다.
Team Foundation Server와 Project Server 간의 필드 매핑 사용자 지정
중요
필요할 때 언제든지 매핑 파일을 업로드할 수 있습니다. 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의 데이터를 업데이트합니다. targetToTfs 요소를 사용하여 Team Foundation의 필드를 업데이트하는 Project Server의 필드를 지정합니다.
상태 동기화의 경우 Team Foundation의 데이터가 Project Server의 상태 큐로 전송됩니다. tfsToTarget 요소를 사용하여 Project Server의 상태 큐 필드를 업데이트하는 필드를 지정합니다.
이러한 두 가지 형식의 동기화에 대한 자세한 내용은 Team Foundation Server 및 Project Server 통합의 동기화 프로세스 개요를 참조하십시오.
다음 표에서는 Team Foundation과 Project Server 간에 매핑되는 기본 필드 집합을 보여 줍니다. 또한 MSF(Microsoft Solutions Framework)의 세 가지 프로젝트 템플릿을 기반으로 필드를 사용하는 작업 항목 형식을 나타냅니다. Agile Software Development v5.0 또는 CMMI(Capability Maturity Model Integration) Process Improvement v5.0을 기반으로 하는 프로세스 템플릿에서 만든 팀 프로젝트에 매핑할 경우 해당 매핑을 수정해서는 안 됩니다. Scrum 1.0 프로세스 템플릿에서 만든 팀 프로젝트에 매핑할 경우 이 항목의 뒷부분에서 설명하는 Scrum 1.0 프로세스 템플릿을 사용하여 만든 팀 프로젝트에 매핑할 경우 필드 매핑 수정에 따라 몇 가지 수정 작업을 해야 합니다.
매핑 및 동기화 프로세스에 대한 자세한 내용은 Team Foundation Server와 Project Server의 통합을 위한 필드 매핑 XML 요소 참조을 참조하십시오.
Team Foundation 필드 |
Project Server 필드 |
상태 큐 필드 |
Agile 5.0의 작업 항목 형식 |
CMMI 5.0의 작업 항목 형식 |
Scrum 1.0의 작업 항목 형식 |
---|---|---|---|---|---|
제목 |
작업 이름 |
제목 |
모두 |
모두 |
스프린트를 제외한 모든 서비스 |
담당자 |
리소스 |
리소스 |
모두 |
모두 |
스프린트를 제외한 모든 서비스 |
완료된 작업 |
작업(Task) 실제 작업 |
리소스 실제 작업 |
Task |
Task |
없음 |
남은 작업 |
작업(Task) 남은 작업 |
리소스 남은 작업 |
Task |
Task |
Task |
원래 예상 값 |
기본 작업 |
기본 작업 |
Task |
버그, 변경 요청, 문제, 요구 사항, 위험, 작업(Task) |
없음 |
시작 날짜 |
작업 시작 |
리소스 시작 |
작업 및 사용자 스토리 |
작업 및 요구 사항 |
스프린트 |
완료 날짜 |
작업 완료 |
리소스 완료 |
작업 및 사용자 스토리 |
작업 및 요구 사항 |
스프린트 |
맨 위로 이동
Scrum 1.0 프로세스 템플릿에서 만든 팀 프로젝트에 매핑할 경우 작업 항목 형식에 필드 추가
Scrum 1.0 프로세스 템플릿은 완료된 작업 및 원래 예상 값 필드를 사용하지 않기 때문에 데이터 동기화에 참여할 작업 항목 형식에 이러한 필드를 추가해야 합니다. 예를 들어 사용하지 않는 필드를 작업 항목 형식에 추가할 수 있습니다.
이러한 필드를 추가하려면 팀 프로젝트에서 작업 항목 형식을 내보내고 각 필드에 대해 FIELDS 섹션에 FIELD 요소를 추가해야 합니다. FORM 섹션에 Control 요소를 추가할 수도 있습니다. 다음 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의 필드에 대한 참조 이름. Team Foundation에서 만들어야 하는 필드와 Project Server의 필드를 동기화하려면 먼저 동기화하려는 각 작업 항목 형식으로 필드를 만듭니다. 자세한 내용은 MSF 프로세스 템플릿에 정의된 필드 및 시스템 필드 사용 및 작업 항목 필드 정의를 참조하십시오.
Team Foundation에서 필드를 업데이트할 Project Server의 필드 이름. 사용 가능한 필드의 목록을 보려면 Team Foundation Server와의 통합을 위한 Project Server 필드 매핑의 제한 사항을 참조하십시오.
Project Server에서 업데이트될 필드 이름 및 Team Foundation Server의 미러 필드를 업데이트할 Project Server의 필드 이름이 업데이트됩니다.
작업 항목 폼에 필드를 표시할지 여부. 작업 항목 폼에 표시할 필드에 대한 displayTfsField 특성의 값을 true로 설정합니다. 작업 항목 폼에 대한 displayTfsMirror 특성의 값을 true로 설정합니다.
Team Foundation 필드 값이 Project Server 필드 값을 덮어쓸지 두 값을 모두 유지할 수 있도록 허용하여 데이터 충돌을 해결할지 여부. 이 결정에 따라 onConflict 특성의 값이 정해집니다. **onConflict=”PsWins”**를 설정하면 Project Server의 필드 값이 Team Foundation의 필드 값을 덮어씁니다. 자세한 내용은 필드 요소 및 특성을 참조하십시오.
Project Server의 선택 목록 또는 사용자 지정 조회 테이블을 지원하기 위해 정의해야 하는 추가 값.
맨 위로 이동
매핑할 수 있는 데이터에 대한 제한 사항
매핑할 필드를 결정했으면 다음 제한 사항을 참조하십시오.
작업 수준 정보인 pjTask* 필드만 Project Server에서 Team Foundation Server로 보낼 수 있습니다.
리소스 수준 정보인 pjResource* 필드만 Team Foundation Server에서 Project Server의 상태 큐로 보낼 수 있습니다.
Team Foundation Server 및 상태 큐 모두로 보낼 수 있는 유일한 필드는 제목 필드입니다.
롤업은 담당자, 완료된 작업 및 남은 작업 필드에 대해 자동으로 계산됩니다. 추가 필드를 매핑하거나 필드에 대해 롤업이 계산되도록 할 수는 없습니다. 자세한 내용은 팀 프로젝트에 매핑된 Enterprise 프로젝트의 리소스 롤업에 대한 작업을 참조하십시오.
매핑하는 필드의 데이터 형식 단위는 표준 및 사용자 지정 엔터프라이즈 필드에 대한 필드 매핑 조건을 따라야 합니다. 자세한 내용은 Team Foundation Server와의 통합을 위한 Project Server 필드 매핑의 제한 사항의 "데이터 형식 및 필드 매핑 조건"을 참조하십시오.
Team Foundation에서 선택 목록과 연결된 필드를 매핑할 수 있습니다. 그러나 선택 목록과 일치시키기 위해 Project Server에서 조회 테이블을 만들어야 합니다. 선택 목록과 조회 테이블을 자동으로 동기화할 수는 없습니다.
자세한 내용은 Team Foundation Server와의 통합을 위한 Project 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에서 영역 및 반복 경로 표시
Team Foundation에서 영역(System.AreaPath) 및 반복(System.IterationPath) 필드를 매핑하여 프로젝트 계획에 표시할 수 있습니다. 이러한 트리 경로 필드가 자주 변경되기 때문에 이러한 필드를 Project에서 텍스트 필드로 매핑해야 합니다. 이러한 필드를 사용하는 프로젝트 관리자는 전체 영역 경로 또는 반복 경로를 수동으로 입력해야 합니다.
중요
Visual Studio Team Foundation Server 2010 및 Project Server 통합의 현재 구현에서는 두 서버 제품 간의 매핑된 필드에 대해 정의된 허용된 값 목록, 선택 목록, 전역 목록 또는 트리 경로 목록의 자동 동기화를 지원하지 않습니다. 최선의 방법은 Team Foundation의 일치하는 항목에 프로젝트 계획의 항목을 수동으로 입력하는 것입니다. 유효하지 않은 항목을 지정할 경우 계획을 게시할 때 유효성 검사 대화 상자가 나타납니다.
영역 및 반복 필드를 프로젝트에 추가하려면 다음을 수행합니다.
두 개의 Enterprise 사용자 지정 필드를 Project Server에 추가하고 각각 영역(TFS) 및 **반복(TFS)**으로 레이블을 지정합니다.
자세한 내용은 Microsoft 웹 사이트의 Creating Lookup Tables and Enterprise Custom Fields 페이지를 참조하십시오.
팀 프로젝트가 정의되어 있는 팀 프로젝트 컬렉션에서 필드 매핑을 내보냅니다.
자세한 내용은 이 항목 뒷부분의 파일로 매핑 다운로드를 참조하십시오.
파일에 다음 코드를 추가합니다.
<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>
이 항목 뒷부분의 매핑 업로드를 참조하여 업데이트된 필드 매핑을 가져옵니다.
프로젝트 계획을 Project Server와 동기화합니다.
새 필드인 영역(TFS) 및 반복(TFS)을 위한 두 개의 새 열을 프로젝트 계획에 추가합니다.
Team Foundation의 영역 및 반복 필드에 대한 변경 내용이 프로젝트 계획의 해당 필드와 동기화됩니다. 또한 Team Foundation에 정의된 값을 지정할 경우 Project에서 이러한 필드를 업데이트하여 Team Foundation에 변경 내용을 게시할 수 있습니다.
맨 위로 이동
파일로 매핑 다운로드
참고
매핑이 업로드된 팀 프로젝트 컬렉션에서만 매핑을 다운로드할 수 있습니다. 기본 매핑을 파일로 다운로드하려면 먼저 이 항목의 뒷부분에 나오는 기본 매핑을 업로드하려면에서 설명한 대로 기본 매핑을 업로드해야 합니다. 또는 기본 매핑의 내용을 복사할 수 있습니다. 자세한 내용은 기본 매핑 파일을 참조하십시오.
매핑을 파일로 다운로드하려면
팀 탐색기 및 Visual Studio Team Foundation Server 2010용 서비스 팩 1을 실행하는 컴퓨터에서 명령 프롬프트 창을 열고 TFSAdmin 명령줄 도구가 포함된 디렉터리로 변경합니다.
기본적으로 이 도구는 Drive:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE에 있습니다. 64비트 컴퓨터의 경우 이 도구는 드라이브:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE에 있습니다.
명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 누릅니다.
TfsAdmin ProjectServer /DownloadFieldMappings /collection:tpcUrl /filepath:MappingFile
tpcUrl을 팀 프로젝트 컬렉션의 URL로 바꾸고, MappingFile을 사용자 지정할 파일의 경로 및 이름으로 바꿉니다.
다음 메시지가 나타날 때까지 기다립니다.
MappingFile을(를) 팀 프로젝트 컬렉션 tpcUrl(으)로 다운로드하고 있습니다.
필드 매핑 파일 MappingFile 을(를) 팀 프로젝트 컬렉션 tpcUrl(으)로 다운로드했습니다.
맨 위로 이동
매핑 업데이트
매핑 파일을 추가하려는 각 필드에 대해 field 요소 및 해당 요소의 하위 요소와 특성을 지정합니다. 자세한 내용은 Team Foundation Server와 Project Server의 통합을 위한 필드 매핑 XML 요소 참조을 참조하십시오.
맨 위로 이동
매핑 업로드
UploadFieldMappings 명령을 사용하여 매핑을 업로드합니다. /usedefaultfieldmapping 옵션을 사용하여 기본 매핑을 업로드할 수 있습니다. 그렇지 않으면 매핑 요소가 포함된 파일을 지정해야 합니다.
기본 매핑을 업로드하려면
명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 누릅니다.
TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /usedefaultfieldmappings
tpcUrl을 팀 프로젝트 컬렉션의 URL로 바꿉니다.
다음 메시지가 나타날 때까지 기다립니다.
기본 필드 매핑을 CollectionUri(으)로 업로드하고 있습니다.
필드 매핑을 컬렉션 CollectionUri으(로) 언로드했습니다.
파일에서 매핑을 업로드하려면
명령 프롬프트에 다음 명령을 입력하고 Enter 키를 누릅니다.
TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /filepath:MappingFile /force
tpcUrl을 팀 프로젝트 컬렉션의 URL로 바꾸고, MappingFile을 사용자 지정 매핑 파일의 경로 및 이름으로 바꿉니다. 기존 매핑을 업데이트하려는 경우 /force를 지정합니다.
다음 메시지가 나타날 때까지 기다립니다.
MappingFile을(를) 팀 프로젝트 컬렉션 tpcUrl(으)로 업로드하고 있습니다.
필드 매핑 파일 MappingFile 을(를) 팀 프로젝트 컬렉션 tpcUrl(으)로 업로드했습니다.
맨 위로 이동
Project Server 탭 사용자 지정
Enterprise 프로젝트 계획을 팀 프로젝트에 연결하면 다음 그림과 같이 Project Server 탭이 작업 항목 폼에 추가됩니다. 탭은 데이터 동기화에 참여하도록 지정하는 해당 작업 항목 형식에만 추가됩니다. 폼에 표시할 필드에 대한 displayTfsField 또는 displayTfsMirror 특성을 true로 설정하여 이 탭을 사용자 지정합니다.
Project Server 탭
중요
팀 프로젝트 컬렉션에 대해 정의된 필드 매핑에 따라 Project Server 탭에 표시되는 필드가 결정됩니다. 이 탭이 팀 프로젝트의 작업 항목 형식에 추가된 후에는 컬렉션에 대한 필드 매핑을 수정하여 탭을 업데이트할 수 있습니다. Project Server 탭에 필드를 추가하거나 폼에서 이 탭의 위치를 변경하여 작업 항목 폼을 수동으로 사용자 지정하는 경우 이후에 필드 매핑을 변경하면 이 탭이 자동으로 업데이트되지 않을 수 있습니다. 이 경우 탭을 수동으로 수정할 수 있습니다.
Project Server 탭에 나타나는 기본 필드 각각에 대한 자세한 내용은 데이터 동기화를 지원하기 위해 추가된 Project Server 필드를 참조하십시오.
맨 위로 이동