호스트된 XML 프로세스 사용자 지정

Azure DevOps Services

Azure DevOps Services는 웹 기반 가져오기 프로세스인 관리 환경을 통해 프로세스 추가 및 업데이트를 지원합니다. 프로세스를 추가한 후 여기에서 하나 이상의 프로젝트를 만들 수 있습니다. 프로세스를 다시 가져와서 언제든지 업데이트할 수 있습니다. 프로세스 템플릿에 대한 변경 내용은 프로세스를 사용하는 모든 프로젝트에 적용됩니다.

중요

호스트된 XML 프로세스 모델을 사용하면 프로세스 템플릿의 XML 정의 파일 선택을 업데이트하여 작업 추적을 사용자 지정합니다. 이 기능은 Team Foundation Server 데이터베이스 가져오기 서비스를 사용하여 데이터가 Azure DevOps Services 마이그레이션되는 경우에만 사용할 수 있습니다.

사용자 지정 및 프로세스 모델에 대한 자세한 내용은 작업 추적 사용자 지정을 참조하세요.

프로세스는 상호 종속된 파일 집합을 포함하는 zip 파일입니다. 이러한 파일은 Azure DevOps Services 작업 항목 추적 시스템 및 기타 하위 시스템의 구성 요소를 정의합니다. 일부 구성 요소는 기존 프로젝트를 업데이트하고 다른 구성 요소는 새 프로젝트에만 적용됩니다. 구성 요소의 전체 목록은 다음 표를 참조하세요.

프로세스를 가져오고 업데이트할 때 사용됩니다.

새 프로젝트를 만들 때 사용됩니다.

시스템 기본값으로 대체됨

무시됨

작업 항목 추적

순발력

범주

프로세스 구성

영역 및 반복

Test Management

작업 항목

작업 항목 쿼리

빌드

Lab Management

버전 제어

Microsoft 프로젝트 매핑

보고서

포털(SharePoint 제품)

프로세스 가져오기를 위해 지원되는 프로세스 플러그 인 및 개체

Azure DevOps Services 지원하는 항목과 온-프레미스 Team Foundation Server에서 지원하는 항목 간에는 차이가 있습니다. 이러한 차이점에 대한 요약은 프로세스 템플릿 사용자 지정 차이점을 참조하세요.

프로세스를 사용자 지정하는 방법

프로세스를 사용자 지정할 때 잘 정의된 프로세스로 시작하는 것이 새 프로세스를 빌드하는 것보다 쉽습니다.

온-프레미스 Team Foundation Server에서 사용한 기존 프로세스를 업데이트하는 경우 가져오기를 위해 템플릿에 배치된 제약 조건을 준수하는지 확인합니다.

설정>프로세스 열기

조직 설정>프로세스에서 프로세스에 대한 사용자 지정을 만들고, 관리하고, 만듭니다.

  1. Azure DevOps 로고를 선택하여 프로젝트를 엽니다. 그런 다음 , 조직 설정을 선택합니다.

    조직 설정 열기

  2. 그런 다음, 프로세스를 선택합니다.

    조직 설정, 프로세스 페이지

    중요

    프로세스가 표시되지 않으면 TFS-2018 또는 이전 버전에서 작업하는 것입니다. 프로세스 페이지는 지원되지 않습니다. 온-프레미스 XML 프로세스 모델에 지원되는 기능을 사용해야 합니다.

프로세스 내보내기 및 가져오기

  1. 프로세스 탭에서 줄임표(...)를 선택하여 내보낼 호스트된 XML 프로세스의 바로 가기 메뉴를 엽니다. 호스트된 XML 프로세스만 내보낼 수 있습니다.

    프로세스 페이지 > 호스트된 XML 프로세스 내보내기 메뉴 옵션

    zip 파일을 저장하고 모든 파일을 추출합니다.

  2. 루트 디렉터리에 있는 ProcessTemplate.xml 파일 내의 프로세스 이름을 바꿉니다.

    프로세스 이름을 지정하여 기존 프로세스와 구분합니다.

    <name>MyCompany Agile Process </name>

    버전 유형을 변경하고 주 및 부 번호를 변경합니다. 이 예제와 같이 형식에 대한 고유 GUID를 제공합니다.

    <version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>

  3. 지원되는 사용자 지정을 적용합니다.

  4. 루트 디렉터리에 있는 모든 파일 및 폴더의 zip 파일을 만듭니다.

  5. 사용자 지정 프로세스의 zip 파일을 가져옵니다.

지원되는 사용자 지정

프로세스에 다음 사용자 지정을 적용할 수 있습니다.

다음 섹션에서는 시스템에서 적용하는 제한 사항을 나열합니다.

제한

최대 32개의 프로세스를 Azure DevOps Services로 가져올 수 있습니다. 사용자 지정 프로세스는 다음과 같은 요약된 모든 규칙을 준수해야 합니다. 그렇지 않으면 가져올 때 유효성 검사 오류 메시지가 나타날 수 있습니다.

프로세스 템플릿

ProcessTemplate.xml 파일은 ProcessTemplate XML 요소 참조에 설명된 구문 및 규칙을 따라야 합니다. 또한 다음 조건을 충족해야 합니다.

  • 정의된 WIT 수를 64개로 제한합니다.
  • Categories.xml 정의 파일 하나만 포함
  • ProcessConfiguration.xml 정의 파일 하나만 포함
  • 모든 필드 및 WIT 정의에서 고유한 이름 사용

또한 프로세스는 다음 유효성 검사를 통과해야 합니다.

  • 프로세스 이름은 고유하며 최대 155개의 유니코드 문자를 포함합니다.
    • 기존 프로세스와 이름 및 버전 GUID가 동일한 템플릿은 해당 프로세스를 덮어씁니다.
    • 이름이 같지만 버전 GUID가 다른 템플릿은 오류를 생성합니다.
    • 프로세스 이름에는 다음과 같은 특수 문자 . , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >가 포함될 수 없습니다.
      추가 제약 조건에 대한 명명 제한을 참조하세요.
  • 프로세스 폴더에는 .exe 파일이 없습니다. .exe 파일이 포함된 프로세스를 가져올 수 있더라도 프로젝트 만들기가 실패합니다.
  • 프로세스의 총 크기는 최대 2GB입니다. 그렇지 않으면 프로젝트 만들기가 실패합니다.

구성 처리

ProcessConfiguration.xml 정의 파일은 ProcessConfiguration XML 요소 참조에 설명된 구문 및 규칙을 준수해야 합니다. 또한 다음 조건을 충족해야 합니다.

  • 모든 TypeFields 요소를 지정합니다.
  • 5개의 포트폴리오 백로그로 제한됩니다.
  • 매개 변수가 없는 포트폴리오 백로그를 하나만 포함합니다.
  • 각 하위 포트폴리오 백로그에 대해 하나의 부모 포트폴리오 백로그만 지정합니다.
  • 필수 워크플로 상태-메타 상태 매핑을 포함하며 지원되지 않는 메타스테이트는 참조하지 않습니다.

범주

Categories.xml 정의 파일은 Categories XML 요소 참조에 설명된 구문 및 규칙을 준수해야 합니다. 또한 다음 조건을 충족해야 합니다.

  • 32개 범주로 제한됨
  • ProcessConfiguration.xml 파일에서 참조되는 모든 범주를 정의합니다.

작업 항목 형식

WITD 요소와 해당 자식 요소는 WITD XML 요소 참조에 설명된 구문 및 규칙을 준수해야 합니다. 또한 다음 조건을 충족해야 합니다.

  • 단일 WIT 내에는 최대 512개의 필드가 있고 모든 WIT에는 512개의 필드가 있습니다.
  • WIT에 할당된 식별 이름 및 필수 refname 특성은 WIT 정의 파일 집합 내에서 고유합니다.
  • 필요한 refname 특성 값은 허용되지 않는 문자를 포함하거나 허용되지 않는 네임스페이스 시스템을 사용하지 않습니다. 이름 및 Microsoft. 이름입니다.
  • 참조 이름에는 하나 이상의 마침표(.)가 포함되며 다른 모든 문자는 공백이 없는 문자입니다.
  • WITD 요소에는 WebLayout 및 Control 요소에 지정된 구문을 준수하는 WebLayout 요소를 정의하는 FORM 요소가 포함되어 있습니다.

작업 항목 필드

FIELDS 요소와 해당 자식 요소는 FIELD XML 요소 참조에 설명된 구문 및 규칙을 준수해야 합니다. 또한 다음 조건을 충족해야 합니다.

  • WIT에 할당된 식별 이름 및 필수 refname 특성은 WIT 정의 파일 집합 내에서 고유합니다.
  • 필요한 refname 특성 값은 허용되지 않는 문자를 포함하거나 허용되지 않는 네임스페이스 시스템을 사용하지 않습니다. 이름 및 Microsoft. 이름입니다.
  • 참조 이름에는 하나 이상의 마침표(.)가 포함되며 다른 모든 문자는 공백이 없는 문자입니다.

FIELD 요소와 해당 자식 요소에는 GLOBALLIST 요소가 포함될 수 있습니다.

제한 제한

  • FIELDS 요소는 512개 필드로 제한됩니다.
  • 작업 항목 유형은 64개 사용자 이름 필드로 제한됩니다. 사람 이름 필드는 특성 및 값 syncnamechanges=true이 인 필드입니다.
  • ALLOWEDVALUES 또는 SUGGESTEDVALUES 요소는 512개의 LISTITEM 요소로 제한됩니다.
  • 필드는 1,024개 규칙으로 제한됩니다.

Required fields

다음 필드는 ProcessConfiguration.xml 파일에 지정됩니다.

  • 프로세스 구성 백로그를 정의하는 범주의 모든 WIT에 대해 특성 및 값 type=Teamtype=Order및 에 사용되는 필드를 지정합니다.
  • 일반 백로그 또는 포트폴리오 백로그를 정의하는 범주의 모든 WIT에 대해 에 type=Effort사용되는 필드를 지정합니다.
  • TaskBacklog 요소를 정의하는 범주의 모든 WIT에 대해 다음을 지정합니다.
    • 에 사용되는 필드입니다 type=RemainingWork.
    • 에 사용되는 필드입니다 type=Activity.
    • 에 사용되는 필드에 대한 ALLOWEDVALUES 규칙입니다 type=Activity.

규칙 제한 사항

표준 필드 규칙 제한 외에도 다음과 같은 제한이 적용됩니다.

  • 필드 규칙 요소는 특성이 아닌에 대해 를 지정할 수 없습니다.
  • FIELD 요소는 자식 규칙 요소 CANNOTLOSEVALUE, NOTSAMEAS, MATCHPROHIBITEDVALUES를 포함할 수 없습니다.
  • 다음 필드를 제외하고 시스템에 대한 FIELD 정의입니다. 이름 필드에는 필드 규칙이 포함될 수 없습니다.
    • System.Title에는 REQUIREDDEFAULT 규칙이 포함될 수 있습니다.
    • System.Description에는 REQUIREDDEFAULT 규칙이 포함될 수 있습니다.
    • System.AssignedTo는 REQUIRED, DEFAULT, ALLOWEXISTINGVALUEVALIDUSER 규칙을 포함할 수 있습니다.
    • System.ChangedBy는 REQUIRED, DEFAULT, ALLOWEXISTINGVALUEVALIDUSER 규칙을 포함할 수 있습니다.

일관된 이름 및 특성

프로세스 또는 프로젝트 컬렉션 내에서 FIELD 요소가 정의하는 이름, 형식 및 기타 특성은 모든 WIT 정의에서 동일해야 합니다.

ID 필드

ID 필드는 계정, 사용자 또는 그룹 이름을 포함하는 데 사용되는 필드에 해당합니다. 다음 핵심 시스템 필드는 ID 필드로 하드 코딩됩니다.

  • 담당자(System.AssignedTo)
  • 승인한 사람(System.AuthorizedAs)
  • 변경한 사람(System.ChangedBy)
  • 만든 사람(System.CreatedBy)
  • (Microsoft.VSTS.Common.ActivatedBy)에 의해 활성화됨
  • 닫힘 기준(Microsoft.VSTS.Common.ClosedBy)
  • 해결 기준(Microsoft.VSTS.Common.ResolvedBy)
사용자 지정 ID 필드 추가

특성 syncnamechanges 를 True로 지정하면 문자열 필드가 ID 필드로 인식됩니다.

ID 필드에 대한 규칙 제한

프로세스 가져오기의 현재 릴리스의 경우 FIELD 정의 내에서 다음 규칙을 지정하지 마세요.

  • SUGGESTEDVALUES
  • 비identity 값을 포함하는 규칙입니다.
올바른 예제

ID 필드 내에서 유효한 계정 이름을 제한하려면 그룹 이름 특성을 사용하여 요소를 지정 VALIDUSER 합니다.

    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER group="[PROJECT]\Program Manager Group" />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

프로세스를 가져오기 전에 프로세스가 업데이트되는 프로젝트에서 그룹을 만들었는지 확인합니다.

잘못된 예제

다음 예제는 다음을 지정하기 때문에 유효하지 않습니다.

  • 요소입니다 ALLOWEDVALUES .
  • DEFAULT nonidentity 문자열 value="Not Assigned"을 지정하는 요소입니다.
    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <ALLOWEDVALUES>
          <LISTITEM value="[PROJECT]\Program Manager Group" />
          <LISTITEM value="Not Assigned" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="Not Assigned" />
        <VALIDUSER />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

워크플로

WORKFLOW 요소와 해당 자식 요소는 WORKFLOW XML 요소 참조에 설명된 구문 및 규칙을 준수해야 합니다. 또한 다음 조건을 충족해야 합니다.

  • 각 WIT를 16개 워크플로 상태로 제한합니다.
  • ProcessConfiguration 정의 파일의 메타스테이션에 매핑되는 모든 워크플로 상태를 정의합니다.
  • "제안됨" 상태 범주에 매핑된 모든 워크플로 상태와 "InProgress" 상태 범주에 매핑된 워크플로 상태 간의 전환을 정의합니다.
  • "InProgress" 상태 범주에 매핑된 모든 워크플로 상태와 "완료" 상태 범주에 매핑된 워크플로 상태 간의 전환을 정의합니다.

상태 범주 및 매핑에 대한 설명은 워크플로 상태 및 상태 범주를 참조하세요.

전역 목록

호스트된 XML 프로세스 모델의 경우 전역 목록 가져오기에 다음과 같은 제한이 적용됩니다.

  • 전역 목록은 최대 64개입니다.
  • 목록당 최대 512개 항목이 있습니다.
  • 모든 WIT에 지정된 모든 전역 목록 중에서 총 약 10,000개의 항목을 정의할 수 있습니다.

폼 레이아웃

FORM 요소와 해당 자식 요소는 FORM XML 요소 참조에 설명된 구문 및 규칙을 따라야 합니다.

Control 요소는 사용자 지정 컨트롤을 지정할 수 없습니다. 사용자 지정 컨트롤은 지원되지 않습니다.