다음을 통해 공유


작업 항목 형식의 워크플로 변경

XML 파일을 내보내고 파일 내용을 수정하여 작업 항목 형식의 워크플로를 변경할 수 있습니다. 워크플로를 수정한 후에는 XML 파일을 가져와서 업데이트된 작업 항목 형식을 사용할 수 있습니다.

필요한 권한

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

워크플로를 변경하려면

  1. 단일 프로젝트의 작업 항목 형식을 수정하는 경우에는 witadmin exportwitd를 실행하여 수정할 작업 항목 형식에 대한 XML 파일을 내보냅니다. 자세한 내용은 작업 항목 형식 사용자 지정 및 관리[witadmin]를 참조하십시오.

  2. Visual Studio에서 파일, 열기를 차례로 클릭한 다음 파일을 클릭합니다.

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

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

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

    참고

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

  4. 업데이트할 작업 항목 형식 XML 파일을 선택하고 열기를 클릭합니다. 줄 끝에 대한 메시지가 나타나면 아니요를 클릭합니다.

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

    <WORKFLOW>
      <STATES>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  6. 형식 정의에 <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">
    ...
    
  7. 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>
    
  8. 다음 XML에 표시되는 것처럼 Active로의 전환을 삭제합니다.

    열기 전환은 하나만 가능하기 때문에 이 작업을 수행해야 합니다.

    <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>
    
  9. 아래 예제에서 굵은 텍스트로 표시된 다음 XML을 삽입하여 열기 전환에 "Ported" 이유를 추가합니다. 이렇게 하면 작업 항목이 새 작업 항목인지 아니면 다른 추적 시스템에서 이식된 작업 항목인지를 사용자에게 알릴 수 있습니다.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
      </TRANSITION>
    ...
    
  10. 아래 예제에서 굵은 텍스트로 표시된 다음 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> 요소에 삽입하면 해당 전환 또는 상태에 규칙이 적용됩니다. 자세한 내용은 규칙 평가 방법을 참조하십시오.

  11. 아래 예제에 나와 있는 것처럼 다음 XML을 삽입하여 Unapproved 상태에서 Active 상태로의 전환을 만듭니다. 이렇게 변경하면 작업 항목이 승인될 때 이 전환이 수행됩니다.

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

  13. 새 작업 항목 형식을 단일 프로젝트로 가져오려면 작업 항목 형식 사용자 지정 및 관리[witadmin]를 참조하십시오. 프로세스 템플릿에 작업 항목 형식을 추가하려면 프로세스 템플릿에 작업 항목에 대한 형식 정의 추가을 참조하십시오.

단일 프로젝트로 가져온 변경 내용을 확인하려면

  1. 팀 탐색기에서 새로 고침을 클릭하여 서버에서 최신 업데이트를 다운로드합니다.

    이 업데이트에는 가져온 변경 내용이 포함되어 있습니다. 작업 항목 노드가 로드될 때까지 몇 초 동안 기다리십시오. 로드되고 있는 노드는 작업 중으로 표시됩니다.

  2. 수정한 작업 항목 형식을 사용하여 새 작업 항목을 만듭니다. 이렇게 하려면 작업 항목 노드를 마우스 오른쪽 단추로 클릭하고 작업 항목 추가를 가리킨 다음 해당 작업 항목 형식을 클릭합니다.

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

  3. 이제 초기 상태Unapproved이고 이유New입니다. 또한 담당자 값에 사용자 계정 이름이 설정됩니다. 이유 필드를 클릭하면 NewPorted 이유가 나열된 목록이 표시됩니다.

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

  5. 상태 필드에서 활성 값을 선택하여 작업 항목을 승인하고 다시 전환합니다. 이유필드가 Approved입니다.

  6. 도구 모음에서 저장을 클릭하여 이 전환을 저장합니다.

  7. 닫기를 클릭하여 작업 항목을 닫습니다.

참고 항목

개념

워크플로 디자인

상태 전환 제한

필드 규칙을 적용할 시기 및 위치

기타 리소스

상태, 전환 또는 이유를 기반으로 필드 할당 자동화