다음을 통해 공유


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

Azure DevOps Services

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

Important

Hosted 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. 그런 다음 프로세스를 선택합니다.

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

    Important

    프로세스가 표시되지 않으면 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 내에는 최대 1024개의 필드가 있고 모든 WIT에는 1024개의 필드가 있습니다.
  • WIT에 할당된 이름 및 필수 refname 특성은 WIT 정의 파일 집합 내에서 고유합니다.
  • 필수 refname 특성 값은 허용되지 않는 문자를 포함하거나 허용되지 않는 네임스페이스 시스템을 사용하지 않습니다.이름 및 Microsoft.이름입니다.
  • 참조 이름에는 하나 이상의 마침표(.)가 포함되며 다른 모든 문자는 공백이 없는 문자입니다.
  • WITD 요소에는 WebLayout 및 Control 요소에 지정된 구문을 따르는 WebLayout 요소를 정의하는 FORM 요소가 포함되어 있습니다.

작업 항목 필드

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

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

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

제한 사항

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

필수 필드

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

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

규칙 제한

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

  • 필드 규칙 요소는 for 및 not 특성을 지정할 수 없습니다.
  • 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)
  • 권한 있는 As(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
  • 비인식성 값을 포함하는 규칙입니다.
올바른 예제

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개 글로벌 목록이 있습니다.
  • 목록당 최대 1,024개의 항목이 있습니다.
  • 모든 WIT에 지정된 모든 전역 목록 중에서 총 약 10,000개의 항목을 정의할 수 있습니다.

폼 레이아웃

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

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