작업 항목의 형식 추가 및 사용자 지정

업데이트: 2010년 6월

특정 팀 프로젝트에서 사용할 수 있도록 팀 프로젝트를 추가 및 사용자 지정할 수 있습니다. 각 작업 항목에 대해 필드, 상태 및 전환을 추가하고 폼 레이아웃을 변경할 수 있습니다. 형식에 지정된 각 필드에 대해 규칙을 추가하고 허용 값을 정의할 수 있습니다.

이 연습에서는 형식의 각 구성 요소를 수정하면서 변경 내용을 팀 프로젝트로 가져오고 해당 형식의 새 작업 항목을 열어 변경 내용을 확인합니다.

항목 내용

작업 항목의 형식을 추가 및 사용자 지정하려면 다음 절차를 수행합니다.

  1. WITLab이라는 팀 프로젝트 만들기

  2. 작업 형식에 대한 작업 항목 폼 보기

  3. 작업 형식 내보내기

  4. 작업 형식을 복사하여 Special Task 형식으로 이름 변경

  5. Special Task 형식을 가져오고 변경 내용 확인

  6. Special Task 형식에 Category라는 새 필드 추가

  7. Category 필드에 규칙 추가

  8. Category 필드에 대한 선택 목록 만들기

  9. Special Task 형식에 대한 워크플로 변경

  10. Special Task 형식에 대한 폼 레이아웃 변경

사전 요구 사항

이 연습의 단계를 완료하려면 다음과 같은 조건을 갖추어야 합니다.

  • 팀 탐색기가 설치되어 있고 Team Foundation Server에 연결되어 있는 Visual Studio의 복사본이 있어야 합니다. 자세한 내용은 Team Foundation Server의 팀 프로젝트에 연결 및 액세스를 참조하십시오.

  • Team Foundation Server에 연결할 수 있고 적절한 권한이 설정되어 있는 경우 명령 프롬프트, 배치 파일 또는 스크립트 파일에서 작업 항목 형식에 기본적인 사용자 지정을 수행할 수 있습니다.

필요한 권한

이 절차를 수행하려면 Team Foundation Administrators 그룹의 멤버이거나 프로젝트에 대한 Project Administrators 그룹의 멤버여야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.

WITLab이라는 팀 프로젝트 만들기

팀 프로젝트를 만들려면

  1. Visual Studio를 시작합니다.

  2. Visual Studio의 도구 메뉴에서 Team Foundation Server에 연결을 클릭합니다.

    참고

    이 옵션이 표시되지 않으면 팀 탐색기를 설치하지 않은 것입니다. 팀 탐색기를 설치해야 Team Foundation Server에 연결하는 옵션을 사용할 수 있습니다.

  3. 팀 프로젝트에 연결 대화 상자의 Team Foundation Server 목록에서 Team Foundation Server를 실행하는 서버를 선택합니다.

  4. 팀 프로젝트에 연결 대화 상자의 Team Foundation Server 목록에서 팀 프로젝트를 추가하려는 팀 프로젝트 컬렉션이 들어 있는 서버를 선택합니다.

    참고

    드롭다운 목록이 비어 있으면 서버 단추를 클릭하고 서버 연결 설정을 직접 입력합니다. Team Foundation 관리자나 팀 프로젝트 관리자에게 문의하여 연결 설정을 구합니다.

  5. 디렉터리 목록에서 팀 프로젝트를 추가하려는 프로젝트 컬렉션의 이름을 클릭합니다.

  6. 연결을 클릭합니다.

  7. 파일 메뉴에서 새 팀 프로젝트를 클릭합니다.

    참고

    프로젝트 관리 환경 설정을 사용하고 있지 않은 경우에는 파일 메뉴에서 새로 만들기를 가리킨 다음 팀 프로젝트를 클릭합니다.

    새 팀 프로젝트 마법사가 나타납니다.

    참고

    Team Foundation Server에 연결되어 있지 않은 경우에는 지금 연결할지 묻는 메시지가 나타납니다. 단계 2에서 단계 6까지 검토합니다.

  8. 팀 프로젝트 설정 지정 페이지에서 팀 프로젝트 이름 상자에 WITLab을 입력하고 다음을 클릭합니다.

  9. 프로세스 템플릿 선택 페이지의 팀 프로젝트를 만들기 위해 사용되는 프로세스 템플릿에서 **MSF for Agile Software Development - <버전 번호>**를 클릭한 다음 마침을 클릭합니다.

    팀 프로젝트를 만드는 데는 몇 분이 걸릴 수 있습니다.

  10. 팀 프로젝트를 만들었습니다. 페이지가 표시되면 팀 프로젝트 실행에 대한 자세한 정보를 보여 주는 프로세스 지침 시작 확인란을 해제하고 닫기를 클릭합니다.

    "WITLab"라는 새 팀 프로젝트가 팀 탐색기에 노드로 나타납니다.

작업 형식에 대한 작업 항목 폼 보기

전제 조건: WITLab이라는 팀 프로젝트 만들기 단계를 완료해야 합니다. "WITLab" 팀 프로젝트가 팀 탐색기의 노드에 표시됩니다.

작업 항목 폼을 보려면

  1. Visual Studio를 시작하고 팀 탐색기를 엽니다.

  2. 팀 탐색기에서 WITLab 팀 프로젝트를 확장하고 폴더가 로드될 때까지 잠시 기다립니다.

  3. 팀 프로젝트에서 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 작업을 클릭합니다.

    새로운 작업(Task) 작업 항목을 나타내는 폼이 표시됩니다. 일부 필드에는 기본값이 들어 있습니다. 이 연습의 뒷부분에서는 이 작업 항목을 만드는 데 사용된 작업(Task) 작업 항목 형식을 사용자 지정할 수 있습니다.

작업 형식 내보내기

전제 조건: WITLab이라는 팀 프로젝트 만들기 단계를 완료해야 합니다. "WITLab" 팀 프로젝트가 팀 탐색기의 노드에 표시됩니다.

작업 항목 형식을 내보내려면

  1. Visual Studio 명령 프롬프트를 엽니다.

  2. 명령 프롬프트에 다음 명령을 입력하고 Enter 키를 누릅니다.

    witadmin exportwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:WITLab /n:Task /f:"File Path\task.xml"

    이 명령은 Team Foundation Server의 작업(Task) 작업 항목 형식을 File Path에 지정한 폴더에 task.xml 파일로 내보냅니다. 내보내기 작업이 완료되면 다음 내용이 표시됩니다.

    Work item type export complete.

  3. (선택 사항) 작업(Task) 작업 항목 형식의 XML 정의를 보려면 명령 프롬프트에서 File Path**\ task.xml"**를 입력하고 Enter 키를 누릅니다.

작업 형식을 복사하여 Special Task 형식으로 이름 변경

전제 조건: 작업 형식 내보내기 절차를 완료해야 합니다.

형식을 복사하여 이름을 바꾸려면

  1. Visual Studio에서 파일을 클릭하고 파일 열기를 클릭합니다.

    파일 열기 대화 상자가 나타납니다.

  2. 찾는 위치에서 파일을 내보낸 위치로 이동합니다.

    작업 항목의 형식을 수정하여 프로세스 템플릿을 사용자 지정하려는 경우에는 프로세스 템플릿을 다운로드한 위치로 이동합니다.

    참고

    Windows Vista를 실행 중인 경우에는 특정 폴더에 대한 액세스 권한이 설정되어 있지 않을 수도 있습니다. 작업 항목 형식을 권한이 설정되지 않은 위치로 내보내려는 경우 레지스트리 가상화 기술을 통해 내보낸 파일이 자동으로 리디렉션되어 가상 저장소에 저장됩니다. 이 리디렉션이 발생하지 않도록 하려면 파일을 사용 권한이 설정된 위치로 내보냅니다. 레지스트리 가상화에 대한 자세한 내용은 Microsoft 웹 사이트에서 Registry VirtualizationWindows Vista의 일반 파일 및 레지스트리 가상화 문제 페이지를 참조하십시오.

  3. task.xml 파일을 클릭한 다음 열기를 클릭합니다. 줄 끝에 대한 메시지가 나타나면 아니요를 클릭합니다.

    이렇게 하면 작업(Task) 작업 항목 형식에 대한 정의가 포함된 XML 파일인 task.xml이 열립니다.

  4. XML 파일에서 다음 요소를 찾습니다.

    <WORKITEMTYPE name="Task">
    
  5. name 특성의 값을 Special Task로 변경합니다.

    <WORKITEMTYPE name="Special Task">
    
  6. 변경 내용을 새 XML 파일로 저장합니다. 이렇게 하려면 Visual Studio의 파일 메뉴에서 다른 이름으로 task.xml 저장을 클릭합니다.

    다른 이름으로 파일 저장 대화 상자가 나타납니다.

  7. 파일 이름에 specialtask.xml을 입력한 다음 저장을 클릭합니다.

Special Task 형식을 가져오고 변경 내용 확인

전제 조건: 작업 형식을 복사하여 Special Task 형식으로 이름 변경 절차를 완료해야 합니다.

새 형식을 가져오려면

  1. Visual Studio 명령 프롬프트를 엽니다.

  2. Special Task 형식을 Team Foundation Server로 가져옵니다. 이렇게 하려면 Visual Studio 명령 프롬프트에 다음 명령을 입력한 후 Enter 키를 누릅니다.

    witadmin importwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:WITLab /f:"File Path\specialtask.xml"

    이 명령은 Special Task 형식을 Team Foundation Server의 WitLab 프로젝트로 가져옵니다. 가져오기 작업이 완료되면 다음 내용이 표시됩니다.

    Work item type import complete.

  3. In 팀 탐색기에서 팀 프로젝트를 선택한 다음 보기 메뉴에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.

    이 업데이트에는 가져온 새 Special Task 형식이 포함되어 있습니다. 모든 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.

  4. Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.

    이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.

Special Task 형식에 Category라는 새 필드 추가

전제 조건: 작업 형식을 복사하여 Special Task 형식으로 이름 변경 절차를 완료해야 합니다.

필드를 추가하려면

  1. Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 SpecialTask.xml 탭을 클릭합니다.

  2. XML 파일에서 다음 섹션을 찾습니다.

    <FIELDS>
    
  3. Category라는 문자열 필드 및 도구 설명에 대한 도움말 텍스트를 만들려면 다음 샘플과 같이 FIELD 및 HELPTEXT 요소를 입력합니다.

    <FIELDS>
    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String">
        <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    </FIELD>
    

    참고

    참조 이름 또는 refname은 이 필드의 프로그래밍 이름입니다. 기타 모든 규칙에서는 이 refname을 참조해야 합니다. 자세한 내용은 작업 항목 추적 개체의 명명 규칙을 참조하십시오.

  4. XML에서 작업 항목 폼을 설명하는 섹션을 찾습니다.

    <FORM>
    
  5. <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>
    
  6. Category 필드를 표시하는 컨트롤을 삽입하려면 다음 샘플과 같이 System.IterationPath에 대한 컨트롤 다음에 Type="FieldControl"과 함께 Control 요소를 입력합니다.

    <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>
    
  7. 파일 메뉴에서 저장을 클릭하여 변경 내용을 XML 파일에 저장합니다.

  8. 변경된 Special Task 형식을 Team Foundation Server로 가져옵니다. 이 작업을 수행하려면 Special Task 형식 가져오기 및 변경 내용 확인 절차에 제공된 단계를 반복합니다.

    폼에 새로운 Category 필드가 나타납니다. 마우스 포인터를 필드 레이블 위로 옮기면 도구 설명이 표시됩니다.

  9. 닫기를 클릭하여 새 Special Task를 닫습니다. 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 클릭합니다.

Category 필드에 규칙 추가

전제 조건: Category라는 새 필드 추가 절차를 완료해야 합니다.

필드에 규칙을 추가하려면

  1. Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 SpecialTask.xml 탭을 클릭합니다.

  2. XML 파일에서 <FIELDS> 섹션을 찾고 이 섹션에서 Category 필드를 찾습니다.

  3. Category를 필수 필드로 설정하려면 다음 샘플과 같이 REQUIRED 요소를 추가합니다.

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    </FIELD>
    
  4. 파일 메뉴에서 저장을 클릭하여 변경 내용을 XML 파일에 저장합니다.

  5. 변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이 작업을 수행하려면 Special Task 형식 가져오기 및 변경 내용 확인 항목의 앞부분에 나오는 절차에 제공된 단계를 반복합니다.

    witadmin importwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:WITLab /f:"File Path\specialtask.xml"

    이제 Category 필드가 강조 표시된 것을 확인할 수 있으며 이는 해당 필드가 필수라는 의미입니다.

  6. Special Task 작업 항목에서 제목 필드를 선택하고 "샘플 작업"을 입력합니다.

  7. 도구 모음에서 저장을 클릭하여 작업 항목을 저장합니다.

    Category 필드를 비워 둘 수 없다는 오류 대화 상자가 표시됩니다. 확인을 클릭하여 대화 상자를 닫습니다.

  8. Special Task 작업 항목의 Category 필드에 범주를 입력합니다.

  9. 저장을 클릭하여 작업 항목을 저장합니다.

    이제 작업 항목을 저장할 수 있는 옵션을 사용할 수 있습니다.

  10. 닫기를 클릭하여 새 Special Task를 닫습니다.

Category 필드에 대한 선택 목록 만들기

전제 조건: Category 필드에 규칙 추가 절차를 완료해야 합니다.

선택 목록을 만들려면

  1. Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 SpecialTask.xml 탭을 클릭합니다.

  2. XML 파일에서 <FIELDS> 섹션을 찾고 이 섹션에서 Category 필드를 찾습니다.

  3. Category 필드에 대해 허용되는 값의 목록을 추가하려면 허용되는 각 값에 대해 ALLOWEDVALUES 요소와 LISTITEM 자식 요소를 삽입합니다.

    <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>
    
  4. Category를 선택적 필드로 설정하려면 ALLOWEDVALUES 요소 위에 나열된 REQUIRED 요소를 삭제합니다.

    <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>
    
  5. 저장을 클릭하여 XML 파일의 변경 내용을 저장합니다.

  6. 변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이 작업을 수행하려면 Special Task 형식 가져오기 및 변경 내용 확인 항목의 앞부분에 나오는 절차에 제공된 단계를 반복합니다.

  7. Special Task 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 Special Task를 클릭합니다.

    이 작업 항목은 변경하여 가져온 작업 항목 형식에서 만들어집니다.

  8. Category 필드의 목록 상자를 클릭합니다.

    이제 ALLOWEDVALUES 규칙에 지정된 값만 필드에 지원됩니다.

    참고

    드롭다운 목록에 나타나는 허용되는 값은 XML 파일의 LISTITEM 요소 순서에 관계없이 항상 사전순으로 표시됩니다.

  9. 닫기를 클릭하여 새 Special Task를 닫습니다. 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 클릭합니다.

Special Task 형식에 대한 워크플로 변경

전제 조건: Category 필드에 대한 선택 목록 만들기 절차를 완료해야 합니다.

워크플로를 변경하려면

  1. Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 SpecialTask.xml 탭을 클릭합니다.

  2. 다음 XML에 표시된 것처럼 XML 파일의 <WORKFLOW> 섹션에서 작업 항목 형식의 워크플로 정의를 찾습니다.

    <WORKFLOW>
      <STATES>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    

    활성 및 닫힘의 두 상태만 정의된 것을 확인할 수 있습니다. 또한 두 상태 간의 전환 및 null 상태로부터의 열기 전환이 정의되어 있습니다. 열기 전환은 작업 항목을 만들 때 사용됩니다.

  3. 형식 정의에 Unapproved 상태를 추가하려면 활성 상태 위에 STATE 요소를 추가로 삽입합니다.

    <WORKFLOW>
      <STATES>
        <STATE value="Unapproved">
        </STATE>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  4. null 상태와 Unapproved 상태 간의 전환을 만듭니다. 이렇게 하려면 전환에 대한 워크플로 정의 섹션을 찾습니다. 그런 다음 할당되지 않음 상태에서 Unapproved 상태로의 TRANSITION 요소를 삽입합니다. 이렇게 변경하면 이 형식을 사용하여 새로 만드는 모든 작업 항목이 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>
    
  5. 다음 샘플에 나타나는 할당되지 않음에서 Active로의 TRANSITION 요소와 해당 자식 요소를 모두 삭제합니다. 이 단계를 수행하는 이유는 열기 전환은 하나만 있어야 하며, 다음 단계에서 "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>
    
  6. 기본 이유 다음에 REASON 요소를 삽입하여 열기 전환에 대한 "Ported" 이유를 추가합니다. 이렇게 변경하면 작업 항목이 새 작업 항목인지 아니면 다른 추적 시스템에서 이식된 작업 항목인지를 사용자가 알 수 있습니다.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
      </TRANSITION>
    ...
    
  7. 다음 샘플에서 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> 요소에 삽입하면 해당 전환 또는 상태에 규칙이 적용됩니다.

  8. 아래 샘플과 같이 Unapproved 상태에서 Active 상태로의 전환을 만들려면 TRANSITION 요소와 해당 자식 요소를 삽입합니다. 이렇게 변경하면 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>
    ...
    
  9. 저장을 클릭하여 XML 파일의 변경 내용을 저장합니다.

  10. 변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이 작업을 수행하려면 Special Task 형식 가져오기 및 변경 내용 확인 절차에 제공된 단계를 반복합니다.

    이제 상태의 초기값이 Unapproved로, 이유의 기본값이 신규로 설정됩니다. 또한 담당자 값이 기본적으로 사용자 계정 이름으로 설정됩니다. 이유 필드를 클릭하면 신규Ported 이유가 나열된 목록 상자가 표시됩니다.

  11. 제목 필드에 제목을 입력한 다음 저장을 클릭하여 작업 항목을 저장합니다. 저장 작업이 완료되어 상태 표시줄에 저장되었습니다. 메시지가 나타날 때까지 기다립니다.

  12. 상태 필드에서 활성 값을 선택하여 작업 항목을 승인하고 다시 전환합니다. 이때 이유 필드가 기본적으로 승인됨으로 설정됩니다.

  13. 저장을 클릭하여 이 전환을 저장합니다.

  14. 닫기를 클릭하여 Special Task를 닫습니다.

Special Task 형식에 대한 폼 레이아웃 변경

전제 조건: Special Task 형식에 대한 워크플로 변경 절차를 완료해야 합니다.

폼 레이아웃을 변경하려면

  1. Special Task 작업 항목 형식 정의가 포함된 파일을 엽니다. 이렇게 하려면 Visual Studio에서 SpecialTask.xml 탭을 클릭합니다.

  2. XML 파일의 <TabGroup> 섹션을 찾습니다. 이 섹션에는 링크 및 파일 첨부에 대한 <Tab> 요소가 있으며 각 <Tab> 요소에는 개별 컨트롤을 렌더링하는 <Control> 요소가 포함되어 있습니다.

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  3. 이전 단계에 표시된 XML을 아래의 새 XML로 대체하여 두 <Tab> 요소를 두 컨트롤이 모두 포함된 하나의 링크 및 첨부 파일 <Tab> 요소로 병합합니다.

    <Tab Label="Links and Attachments">
      <Control Type="LinksControl" Label="Links" LabelPosition="Top" />
      <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" />
    </Tab>
    
  4. 분류상태 그룹을 설명하는 <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>
    

    참고

    최상의 결과를 얻으려면 열의 범위가 폼의 전체 너비로 확장되는 경우에도 열에서 모든 컨트롤 또는 그룹을 표시하는 것이 좋습니다. 또한 그룹에 표시되는 레이블이나 경계가 없더라도 모든 열을 그룹 안에 표시하는 것이 좋습니다.

  5. 다음 샘플에서 CONTROL 요소 줄을 선택한 다음 편집 메뉴에서 복사를 클릭하여 나중에 사용하기 위해 클립보드로 내용을 복사합니다.

      <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>
    
  6. Classification 그룹을 폼의 현재 위치에서 제거하려면 샘플에서 <Group Label="Classification"> 줄부터 </Group> 줄까지 삭제합니다.

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification">
        <Column PercentWidth="100">
          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" />
          <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" />
          <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
        </Column>
      </Group>
    
  7. <TabGroup> 섹션에서 정보 탭을 정의하는 다음 줄을 찾습니다.

    <Tab Label="Details">
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;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 &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  8. 이들 컨트롤을 정보 탭으로 옮기려면 클립보드의 내용을 <Tab Label="Details"> 요소 다음에 붙여넣습니다.

    <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" />
    ...
    
  9. 이동된 필드 주위에 그룹을 설정하고 필드를 두 열로 나누려면 다음 샘플과 같이 Group 및 Column 요소를 추가합니다.

    <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" />
    ...
    
  10. 저장을 클릭하여 XML 파일의 변경 내용을 저장합니다.

  11. 변경된 Special Task 작업 항목 형식을 Team Foundation Server로 가져옵니다. 이 작업을 수행하려면 Special Task 형식 가져오기 및 변경 내용 확인 절차에 제공된 단계를 반복합니다.

    기본 폼에 Classification 그룹이 더 이상 표시되지 않습니다. 링크 및 첨부 파일 탭 및 정보 탭을 클릭하여 변경 내용의 결과를 확인합니다.

  12. 닫기를 클릭하여 새 Special Task를 닫습니다. 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 클릭합니다.

참고 항목

개념

프로젝트 추적 데이터, 폼, 워크플로 및 기타 개체 사용자 지정

변경 기록

날짜

변경 내용

이유

2010년 6월

굵게 표시되지 않은 내용과 관련하여 굵은 텍스트에 대한 참조가 수정되었습니다.

콘텐츠 버그 수정