Team Foundation 필드에 Microsoft Project 필드 매핑
Team Foundation에 저장되는 작업 항목 필드가 Microsoft Project에 대해 정의된 필드에 매핑되는 방식을 사용자 지정할 수 있습니다. 특정 필드가 게시되는 방식을 변경하고 계층 또는 트리 링크와 종속성 링크를 만들 때 사용할 기본 링크 형식을 지정할 수 있습니다.
Microsoft Excel과는 달리 Microsoft Project에서는 제한된 열 집합을 사용합니다. 여기에는 작업 이름과 같은 미리 정의된 열과 사용자 지정 필드가 포함됩니다. 사용자가 Microsoft Project 파일에서 작업 항목 데이터를 게시하거나 새로 고치면 필드 맵은 작업 항목 데이터베이스의 필드와 일치하는 Microsoft Project의 열을 확인합니다.
예를 들어 직접 만든 필드를 지원하거나 사용자 지정 열이 아닌, 미리 정의된 열에 필드를 매핑하기 위해 매핑을 사용자 지정할 수 있습니다. Microsoft Project의 필드 매핑 파일에 대한 전체 설명서는 프로젝트 필드가 TFS 필드에 매핑되는 방법 추가 또는 변경을 참조하세요.
FileMapping.xml 파일을 수정하여 매핑을 사용자 지정할 수 있습니다. 다음 테이블에는 MSF(Microsoft Solution Framework)용 프로세스 템플릿의 파일, 폴더 및 플러그 인 이름이 요약되어 있습니다. 플러그 인에는 파일을 팀 프로젝트 컬렉션에 업로드하는 작업 정의가 포함되어 있습니다.
파일 이름 |
FileMapping.xml |
폴더 이름 |
Classification |
플러그 인 이름 |
Microsoft.ProjectCreationWizard.Classification 자세한 내용은 분류 플러그 인에서 초기 영역 및 반복 정의을 참조하십시오. |
필드 매핑 방법 지정
Mapping 요소와 다음 구문 구조를 사용하여 매핑되는 필드를 지정합니다.
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.Id"
ProjectField=""
ProjectName=""
ProjectUnits=""
PublishOnly=""
IfSummaryRefreshOnly=""/>
</Mappings>
다음 표에서는 Mapping 요소의 특성에 대해 설명합니다.
특성 |
설명 |
---|---|
WorkItemTrackingFieldReferenceName |
필수 요소. 작업 항목 형식 내 필드의 참조 이름을 지정합니다. |
ProjectField |
필수 요소. Microsoft Project의 열 이름을 지정합니다. 작업 이름 열의 경우 pjTaskName과 같이 이름 앞에 "pj" 접두사를 붙여 미리 정의된 열 이름을 지정합니다. pjTaskText11과 같이 pjTaskText 뒤에 숫자를 붙이는 형식으로 사용자 지정 필드를 지정합니다. |
ProjectName |
선택 사항입니다. 사용자에게 열 이름으로 표시할 이름을 지정합니다. 이 특성을 지정하지 않으면 작업 항목 형식의 필드 이름이 사용됩니다. |
ProjectUnits |
선택 사항입니다. 필드 형식을 Microsoft Project에 매핑할 때 사용할 단위 유형을 지정합니다. 유효한 값은 pjMinute, pjHour, pjDay, pjWeek 및 pjMonthUnit입니다. |
PublishOnly |
선택 사항입니다. true로 설정하면 필드가 작업 항목 데이터베이스에 게시되지만 새로 고쳐지지는 않습니다. 이 값은 대개 팀 탐색기에서 업데이트하면 안 되는 계산 필드에 사용됩니다. false로 설정하면 필드가 게시되며 새로 고쳐집니다. 기본적으로 이 특성은 false로 설정됩니다. 기본적으로는 시작 날짜 및 완료 날짜에서만 이 특성이 true로 설정됩니다. |
IfSummaryRefreshOnly |
선택 사항입니다. true로 설정하면 필드가 작업 항목 데이터베이스에 게시되지는 않지만 다음 조건에도 해당하는 경우 작업 항목 데이터베이스에서 새로 고쳐집니다.
Microsoft Project에서 수행하는 모든 업데이트 또는 계산 결과는 프로젝트 계획의 작업 항목 데이터베이스에서 새로 고쳐지는 값을 덮어쓸 수 있습니다. 그러나 수정된 값은 작업 항목 데이터베이스에 저장되지 않습니다. 이 특성은 작업 항목 데이터베이스에 게시하는 경우 데이터 불일치가 발생하는 요약 필드에 주로 사용됩니다. false로 설정하면 필드가 게시되며 새로 고쳐질 수 있습니다. 기본적으로 이 특성은 false로 설정됩니다. 참고 IfSummaryRefreshOnly 특성은 PublishOnly 특성보다 우선합니다.자세한 내용은 Microsoft Project 필드 매핑 파일 사용자 지정을 참조하십시오. 기본적으로 IfSummaryRefreshOnly 특성은 원래 예상 값, 남은 작업 시간 및 완료된 작업 필드에 대해 true로 설정됩니다. |
동기화, 링크 및 첨부 파일에 대한 필드를 지정합니다.
Mapping 요소 외에 다른 두 요소에 따라 필드 동기화 방식 및 링크와 첨부 파일을 지원하는 필드가 결정됩니다.
SyncField 요소는 동기화 필드로 사용되는 열을 지정합니다. 동기화 필드의 제목은 "게시 및 새로 고침"이며, 사용자는 이 필드를 통해 작업 행이 게시 또는 새로 고침 전용인지를 표시할 수 있습니다.
다음 XML 구문을 사용하여 동기화 필드에 매핑되는 열을 지정합니다. 이때 ProjectField 특성을 Microsoft Project의 유효한 열로 설정합니다.
<SyncField ProjectField="" />
LinksField 요소는 링크 및 첨부 파일 열을 지정합니다. 링크 및 첨부 파일 열을 사용하면 특정 작업 행에 링크나 첨부 파일이 있는지 여부를 나타낼 수 있습니다.
다음 XML 구문을 사용하여 링크 및 첨부 파일 필드에 매핑되는 열을 지정합니다. 이때 ProjectField 특성을 Microsoft Project의 유효한 열로 설정합니다.
<LinksField ProjectField="" />
기본 필드 매핑
다음 예제에서는 MSF for Agile Software Development 프로세스 템플릿이 작업 항목의 필드를 Microsoft Project의 열에 매핑하는 방법을 보여 줍니다.
<?xml version="1.0" encoding="utf-8"?>
<MSProject>
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
<Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
<Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID" />
<Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
<Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
<Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
<Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" ProjectName="State" />
<Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
<Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.StackRank" ProjectField="pjTaskNumber1" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.OriginalEstimate" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true" />
<LinksField ProjectField="pjTaskText26" />
<SyncField ProjectField="pjTaskText25" />
</Mappings>
</MSProject>