연습: 기본적인 작업 항목 형식 사용자 지정
업데이트: 2007년 11월
이 연습에서는 기존 작업 항목 형식을 가장 일반적인 방식으로 사용자 지정합니다. 이 과정에서 작업 항목 형식을 사용자 지정하는 데 사용되는 도구 및 이러한 형식을 정의하는 XML 언어를 학습하게 됩니다.
이러한 사용자 지정은 다음과 같은 절차를 통해 설명됩니다.
팀 프로젝트 만들기 이 절차에서는 이후 절차에서 사용할 작업 항목 형식이 포함된 팀 프로젝트를 만듭니다.
작업 항목 형식 보기 이 절차에서는 기존 작업 항목 형식의 폼을 표시합니다.
작업 항목 형식 내보내기 이 절차에서는 작업 항목 형식 정의를 XML 파일로 내보냅니다.
형식 이름 바꾸기 이 절차에서는 작업 항목 형식 정의가 포함된 XML 파일을 변경하여 작업 항목 형식의 이름을 작업에서 Special Task로 변경합니다.
변경 내용 가져오기 이 절차에서는 이전 절차에서 변경한 작업 항목 형식을 Team Foundation Server로 가져옵니다.
필드 추가 이 절차에서는 기존 작업 항목 형식에 Category라는 새 필드를 추가합니다.
필드에 규칙 추가 이 절차에서는 새로 추가한 Category 필드를 필수 필드로 설정하는 규칙을 추가합니다.
선택 목록 만들기 이 절차에서는 Category 필드에 허용되는 값 목록을 추가합니다. 이 작업 항목 형식에서 만들어지는 작업 항목에 새 값이 선택 사항으로 나타납니다.
워크플로 변경 이 절차에서는 작업 항목 형식에 새로운 상태 및 전환을 추가합니다.
폼 레이아웃 변경 이 절차에서는 작업 항목 폼에서 필드의 배치를 변경합니다.
사전 요구 사항
이 연습의 각 단계를 완료하려면 다음과 같은 요건을 갖추어야 합니다.
Visual Studio Team System 복사본 또는 팀 탐색기가 설치되어 있고 Team Foundation Server에 연결된 Visual Studio 복사본. 자세한 내용은 방법: Team Foundation Server에 연결을 참조하십시오.
Team Foundation Server에 연결할 수 있고 적절한 권한이 있는 경우 명령 프롬프트, 배치 파일 또는 스크립트 파일에서 작업 항목 형식에 기본적인 사용자 지정을 수행할 수 있습니다. 이렇게 하려면 Visual Studio 2008 명령 프롬프트 유틸리티를 사용하거나 다음 예제와 같이 vsvars32를 사용하여 현재 명령 프롬프트에서 몇 가지 환경 변수를 설정해야 합니다. 팀 프로젝트에 참가하는 방법에 대한 자세한 내용은 연습: 팀 프로젝트 참가를 참조하십시오.
명령 프롬프트에서 Team Foundation 명령을 사용하려면
- 시작, 모든 프로그램을 클릭하고 Microsoft Visual Studio 2008, Visual Studio Tools를 차례로 가리킨 다음 Visual Studio 2008 명령 프롬프트를 클릭합니다.
또는 Visual Studio 설치 경로(일반적으로 DriveLetter:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools)에서 vsvars32를 실행할 수도 있습니다.
필수 권한
이 절차를 수행하려면 Team Foundation Administrators 그룹의 멤버이거나 프로젝트에 대한 Project Administrators 그룹의 멤버여야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.
팀 프로젝트 만들기
팀 프로젝트를 만들려면
Visual Studio를 시작합니다.
보기를 클릭하고 팀 탐색기를 클릭하여 팀 탐색기를 엽니다.
팀 탐색기에서 연결하려는 Team Foundation Server의 이름을 마우스 오른쪽 단추로 클릭한 다음 새 팀 프로젝트를 클릭합니다.
<Team Foundation Server 이름>의 새 팀 프로젝트 대화 상자에서 팀 프로젝트 이름에 WITLab을 입력하고 다음을 클릭합니다.
프로세스 템플릿 선택 페이지의 팀 프로젝트를 만들기 위해 사용되는 프로세스 템플릿에서 MSF for Agile Software Development - <버전 번호>를 클릭한 다음 마침을 클릭합니다.
팀 프로젝트를 만드는 데는 몇 분이 걸릴 수 있습니다.
팀 프로젝트를 만들었습니다. 페이지가 표시되면 팀 프로젝트 실행에 대한 자세한 정보를 보여 주는 프로세스 지침 시작 확인란을 해제하고 닫기를 클릭합니다.
"WITLab"이라는 새 팀 프로젝트가 작성되고 팀 탐색기에서 Team Foundation Server 아래의 노드에 표시됩니다.
작업 항목 형식 보기
전제 조건: 팀 프로젝트 만들기 절차를 완료해야 하며 "WITLab" 팀 프로젝트를 사용할 수 있어야 합니다.
작업 항목 형식을 보려면
Visual Studio를 시작하고 팀 탐색기를 엽니다.
팀 탐색기에서 WITLab 팀 프로젝트를 확장하고 폴더가 로드될 때까지 잠시 기다립니다.
팀 프로젝트에서 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 작업을 클릭합니다.
새로운 작업(Task) 작업 항목을 나타내는 폼이 표시됩니다. 일부 필드에는 기본값이 들어 있습니다. 이 연습에서는 이 작업 항목을 만드는 데 사용된 작업(Task) 작업 항목 형식을 사용자 지정합니다.
작업 항목 형식 내보내기
전제 조건: 팀 프로젝트 만들기 절차를 완료해야 하며 "WITLab" 팀 프로젝트를 사용할 수 있어야 합니다.
작업 항목 형식을 내보내려면
Visual Studio 명령 프롬프트를 엽니다.
명령 프롬프트에 다음과 같이 입력하고 Enter 키를 누릅니다.
witexport /f "File Path\task.xml" /t "Team Foundation Server name" /p WITLab /n Task
이 명령은 작업(Task) 작업 항목 형식을 Team Foundation Server에서 XML 파일로 내보냅니다. 내보내기 작업이 완료되면 다음과 같은 메시지가 표시됩니다.
Work item type export complete.
(선택적) 작업(Task) 작업 항목 형식의 XML 정의를 보려면 명령 프롬프트에서 task.xml을 입력하고 Enter 키를 누릅니다.
형식 이름 바꾸기
전제 조건: 작업 항목 형식 내보내기 절차를 완료해야 합니다.
형식의 이름을 바꾸려면
Visual Studio에서 파일을 클릭하고 파일 열기를 클릭합니다.
파일 열기 대화 상자가 나타납니다.
찾는 위치에서 파일을 내보낸 위치로 이동합니다.
작업 항목 형식을 수정하여 프로세스 템플릿을 사용자 지정하려는 경우에는 프로세스 템플릿을 다운로드한 위치로 이동합니다.
참고: Windows Vista를 실행 중인 경우에는 특정 폴더에 액세스하지 못할 수도 있습니다. 작업 항목 형식을 액세스 권한이 없는 위치로 내보내려는 경우 레지스트리 가상화 기술을 통해 내보낸 파일이 자동으로 리디렉션되어 가상 저장소에 저장됩니다. 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=92325 및 https://go.microsoft.com/fwlink/?LinkId=92323을 참조하십시오. 이러한 리디렉션이 발생하지 않도록 하려면 파일을 액세스 권한이 있는 위치로 내보냅니다.
task.xml 파일을 클릭한 다음 열기를 클릭합니다. 줄 끝에 대한 메시지가 나타나면 아니요를 클릭합니다.
이렇게 하면 작업(Task) 작업 항목 형식에 대한 정의가 포함된 XML 파일인 task.xml이 열립니다.
XML 파일에서 다음 요소를 찾습니다.
<WORKITEMTYPE name="Task">
name 특성의 값을 Special Task로 변경합니다.
<WORKITEMTYPE name="Special Task">
변경 내용을 새 XML 파일로 저장합니다. 이렇게 하려면 Visual Studio의 파일 메뉴에서 다른 이름으로 task.xml 저장을 클릭합니다.
다른 이름으로 파일 저장 대화 상자가 나타납니다.
파일 이름에 specialtask.xml을 입력한 다음 저장을 클릭합니다.
변경 내용 가져오기
전제 조건: 형식 이름 바꾸기 절차를 완료해야 합니다.
변경 내용을 가져오려면
Visual Studio 명령 프롬프트를 엽니다.
변경된 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.
witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab
이 명령은 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.
Work item type import complete.
팀 프로젝트를 선택한 다음 보기 메뉴에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.
이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 모든 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.
새로운 Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.
이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.
필드 추가
전제 조건: 형식 이름 바꾸기 절차를 완료해야 합니다.
필드를 추가하려면
Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 SpecialTask.xml 탭을 클릭합니다.
XML 파일에서 다음 섹션을 찾습니다.
<FIELDS>
굵은 텍스트로 표시된 다음 XML을 입력하여 Category라는 새 문자열 필드 및 도구 설명에 대한 도움말 텍스트를 만듭니다.
<FIELDS> <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT></FIELD>
참고: 참조 이름 또는 refname은 이 필드의 프로그래밍 이름입니다. 기타 모든 규칙에서는 이 refname을 참조해야 합니다. 자세한 내용은 필드 참조 이름을 참조하십시오.
XML에서 작업 항목 폼을 설명하는 섹션을 찾습니다.
<FORM>
<FORM> 섹션에서 다음 줄을 찾습니다.
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group>
굵은 텍스트로 표시된 다음 XML을 입력하여 Category 필드를 표시하는 새 컨트롤을 삽입합니다.
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
파일 메뉴에서 저장을 클릭하여 변경 내용을 XML 파일에 저장합니다.
변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.
witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab
참고 명령줄에서 위쪽 화살표 키를 누르면 마지막으로 입력한 명령을 간편하게 표시할 수 있습니다.
이 명령은 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.
Work item type import complete.
팀 탐색기에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.
이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 작업 항목 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.
새로운 Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.
이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.
폼에 새로운 Category 필드가 나타납니다. 마우스 포인터를 필드 레이블 위로 옮기면 도구 설명이 표시됩니다.
닫기를 클릭하여 새로운 Special Task를 닫습니다. 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 클릭합니다.
필드에 규칙 추가
전제 조건: 필드 추가 절차를 완료해야 합니다.
필드에 규칙을 추가하려면
Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 specialtask.xml 탭을 클릭합니다.
XML 파일에서 <FIELDS> 섹션을 찾고 이 섹션에서 Category 필드를 찾습니다.
XML 파일에 다음 규칙을 추가하여 Category를 필수 필드로 설정합니다. 이 규칙은 굵은 텍스트로 표시되어 있습니다.
<FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> <REQUIRED /> </FIELD>
파일 메뉴에서 저장을 클릭하여 변경 내용을 XML 파일에 저장합니다.
변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.
witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab
이 명령은 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.
Work item type import complete.
팀 탐색기에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.
이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 작업 항목 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.
새로운 Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.
이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.
이제 Category 필드가 강조 표시된 것을 확인할 수 있습니다. 이는 필수 필드임을 나타냅니다.
Special Task 작업 항목에서 제목 필드를 선택하고 "샘플 작업"을 입력합니다.
도구 모음에서 저장을 클릭하여 작업 항목을 저장합니다.
Category 필드를 비워 둘 수 없다는 오류 대화 상자가 표시됩니다. 확인을 클릭하여 대화 상자를 닫습니다.
Special Task의 Category 필드에 범주를 입력합니다.
저장을 클릭하여 작업 항목을 저장합니다.
이전과는 달리 작업 항목을 저장할 수 있습니다.
닫기를 클릭하여 새로운 Special Task를 닫습니다.
선택 목록 만들기
전제 조건: 필드에 규칙 추가 절차를 완료해야 합니다.
선택 목록을 만들려면
Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 specialtask.xml 탭을 클릭합니다.
XML 파일에서 <FIELDS> 섹션을 찾고 이 섹션에서 Category 필드를 찾습니다.
ALLOWEDVALUES 규칙을 추가하여 Category 필드에 허용되는 값 목록을 추가합니다. 새 규칙은 다음 XML에서 굵은 텍스트로 표시되어 있습니다.
<FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> <REQUIRED /> <ALLOWEDVALUES> <LISTITEM value="Process Management" /> <LISTITEM value="Planning" /> <LISTITEM value="Execution" /> <LISTITEM value="Review" /></ALLOWEDVALUES> </FIELD>
굵은 텍스트로 표시된 REQUIRED 규칙을 삭제하여 Category를 선택적 필드로 설정합니다.
<FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"> <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT> <REQUIRED /> <ALLOWEDVALUES> <LISTITEM value="Process Management" /> <LISTITEM value="Planning" /> <LISTITEM value="Execution" /> <LISTITEM value="Review" /> </ALLOWEDVALUES> </FIELD>
저장을 클릭하여 XML 파일의 변경 내용을 저장합니다.
변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.
witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab
이 명령은 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.
Work item type import complete.
Visual Studio의 팀 탐색기 창에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.
이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 작업 항목 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.
새로운 Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.
이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.
Category 필드의 목록 상자를 클릭합니다.
이제 ALLOWEDVALUES 규칙에 지정된 값만 필드에 지원됩니다.
참고: 드롭다운 목록에 나타나는 허용되는 값은 XML 파일의 LISTITEM 요소 순서에 관계없이 항상 사전순으로 표시됩니다.
닫기를 클릭하여 새로운 Special Task를 닫습니다. 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 클릭합니다.
워크플로 변경
전제 조건: 선택 목록 만들기 절차를 완료해야 합니다.
워크플로를 변경하려면
Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 specialtask.xml 탭을 클릭합니다.
다음 XML에 표시된 것처럼 XML 파일의 <WORKFLOW> 섹션에서 작업 항목 형식의 워크플로 정의를 찾습니다.
<WORKFLOW> <STATES> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
활성 및 닫힘의 두 상태만 정의된 것을 확인할 수 있습니다. 또한 두 상태 간의 전환 및 null 상태로부터의 열기 전환이 정의되어 있습니다. 열기 전환은 작업 항목을 처음 만들 때 사용됩니다.
형식 정의에 추가 <STATE> 요소를 삽입하여 Unapproved 상태를 추가합니다. 새 상태는 굵은 텍스트로 표시되어 있습니다.
<WORKFLOW> <STATES> <STATE value="Unapproved"> </STATE> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
null 상태와 Unapproved 상태 간의 전환을 만듭니다. 이렇게 하려면 우선 전환에 대한 워크플로 정의 섹션을 찾습니다. 그런 다음 아래에서 굵은 텍스트로 표시된 XML을 삽입합니다. 이렇게 변경하면 이 형식을 사용하여 새로 만드는 모든 작업 항목이 Unapproved 상태 및 기본 이유 신규로 시작됩니다.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
다음 XML에서 굵은 텍스트로 표시된 활성 상태로의 전환을 삭제합니다. 이 작업을 수행하는 이유는 열기 전환은 하나만 있어야 하며, 다음 단계에서 "Ported"라는 열기 전환을 정의하여 사용할 것이기 때문입니다.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
굵은 텍스트로 표시된 다음 XML을 삽입하여 열기 전환에 "Ported" 이유를 추가합니다. 이렇게 하면 작업 항목이 새로운 것인지 또는 다른 추적 시스템에서 이식된 것인지 여부를 사용자에게 알릴 수 있습니다.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> </TRANSITION> ...
아래에서 굵은 텍스트로 표시된 COPY 규칙을 삽입합니다. 이 규칙에서는 담당자 필드의 기본값을 작업 항목을 만든 사용자로 설정하며, 이 규칙은 열기 전환 과정에서만 실행됩니다.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> ...
참고: 이 규칙을 다른 <TRANSITION> 또는 <STATE> 요소 아래에 삽입하면 해당 전환 또는 상태에 규칙이 적용됩니다.
아래에서 굵은 텍스트로 표시된 XML을 삽입하여 Unapproved 상태에서 활성 상태로의 전환을 만듭니다. 이렇게 변경하면 Special Task가 승인될 때 이 전환이 수행됩니다.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Unapproved" to="Active"> <REASONS> <DEFAULTREASON value="Approved" /> </REASONS> </TRANSITION> <TRANSITION from="Active" to="Closed"> <REASONS> <DEFAULTREASON value="Completed" /> <REASON value="Deferred" /> <REASON value="Obsolete" /> <REASON value="Cut" /> </REASONS> ...
저장을 클릭하여 XML 파일의 변경 내용을 저장합니다.
변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.
witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab
이 명령은 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.
Work item type import complete.
팀 탐색기에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.
이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 작업 항목 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.
새로운 Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.
이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.
이제 상태의 초기값이 Unapproved로, 이유의 기본값이 신규로 설정됩니다. 또한 담당자 값이 기본적으로 사용자 계정 이름으로 설정됩니다. 이유 필드를 클릭하면 신규 및 Ported 이유가 나열된 목록 상자가 표시됩니다.
제목 필드에 제목을 입력한 다음 저장을 클릭하여 작업 항목을 저장합니다. 저장 작업이 완료되어 상태 표시줄에 저장되었습니다. 메시지가 나타날 때까지 기다립니다.
상태 필드에서 활성 값을 선택하여 작업 항목을 승인하고 다시 전환합니다. 이때 이유 필드가 기본적으로 승인됨으로 설정됩니다.
저장을 클릭하여 이 전환을 저장합니다.
닫기를 클릭하여 Special Task를 닫습니다.
폼 레이아웃 변경
전제 조건: 워크플로 변경 절차를 완료해야 합니다.
폼 레이아웃을 변경하려면
Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 specialtask.xml 탭을 클릭합니다.
XML 파일의 <TabGroup> 섹션을 찾습니다. 이 섹션에는 링크 및 파일 첨부에 대한 <Tab> 요소가 있으며 각 <Tab> 요소에는 개별 컨트롤을 렌더링하는 <Control> 요소가 포함되어 있습니다.
<Tab Label="Links"> <Control Type="LinksControl" /> </Tab> <Tab Label="File Attachments"> <Control Type="AttachmentsControl" /> </Tab>
이전 단계에 표시된 XML을 아래의 새 XML로 대체하여 두 <Tab> 요소를 두 컨트롤이 모두 포함된 하나의 링크 및 첨부 파일 <Tab> 요소로 병합합니다.
<Tab Label="Links and Attachments"> <Control Type="LinksControl" Label="Links" LabelPosition="Top" /> <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" /> </Tab>
분류 및 상태 그룹을 설명하는 <FORM><Layout> 정의 섹션을 찾습니다.
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
참고: 최상의 결과를 얻으려면 열의 범위가 폼의 전체 너비로 확장되는 경우에도 열에서 모든 컨트롤 또는 그룹을 표시하는 것이 좋습니다. 또한 그룹에 표시되는 레이블이나 경계가 없더라도 모든 열을 그룹 안에 표시하는 것이 좋습니다.
굵은 텍스트로 표시된 아래 줄을 선택한 다음 편집 메뉴에서 복사를 클릭하여 나중에 사용하기 위해 클립보드로 내용을 복사합니다.
<Column PercentWidth="70"> <Group> <Column PercentWidth="100"> <Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
다음 XML에서 굵은 텍스트로 표시된 줄을 삭제하여 분류 그룹을 폼의 현재 위치에서 제거합니다.
<Layout> <Group> <Column PercentWidth="70"> <Control Type="FieldControl" FieldName="System.Title" Label="&Title:" LabelPosition="Left" /> </Column> <Column PercentWidth="30"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&Discipline:" LabelPosition="Left" /> </Column> </Group> <Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&Area:" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&Iteration:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group>
<TabGroup> 섹션에서 정보 탭을 정의하는 다음 줄을 찾습니다.
<Tab Label="Details"> <Group> <Column PercentWidth="50"> <Group Label="General"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&ue:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&xit criteria:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &build:" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group Label="Schedule"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &work (hours):" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&pleted work (hours):" LabelPosition="Left" /> </Column> </Group> </Column> </Group> </Tab>
클립보드의 내용을 다음 위치에 붙여 넣어 이들 컨트롤을 정보 탭으로 옮깁니다.
<Tab Label="Details"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> <Group> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" /> ...
다음 내용에서 굵은 텍스트로 표시된 부분을 변경하여 이동된 필드 주위에 그룹을 설정하고 필드를 두 열로 나눕니다.
<Tab Label="Details"> <Group Label="Classification"> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group> </Column> </Group> <Group> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" /> ...
저장을 클릭하여 XML 파일의 변경 내용을 저장합니다.
변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.
witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab
이 명령은 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.
Work item type import complete.
팀 탐색기에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.
이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 작업 항목 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.
새로운 Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.
이 작업 항목은 변경한 작업 항목 형식에서 만들어집니다.
기본 폼에 Classification 그룹이 더 이상 표시되지 않습니다. 링크 및 첨부 파일 탭 및 정보 탭을 클릭하여 변경 내용의 결과를 확인합니다.
닫기를 클릭하여 새로운 Special Task를 닫습니다. 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 클릭합니다.
다음 단계
작업 항목 형식을 추가로 사용자 지정하는 방법에 대한 단계별 지침은 연습: 작업 항목 형식 고급 사용자 지정을 참조하십시오.