호스트된 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에서 사용한 기존 프로세스를 업데이트하는 경우 가져오기를 위해 템플릿에 있는 제약 조건을 준수하는지 확인합니다.
설정>프로세스 열기
조직 설정>프로세스에서 프로세스를 만들고 관리하고 사용자 지정합니다.
Azure DevOps 로고를 선택하여 프로젝트를 엽니다. 그런 다음 조직 설정을 선택합니다.
그런 다음 프로세스를 선택합니다.
Important
프로세스가 표시되지 않으면 TFS-2018 이전 버전에서 작업하는 것입니다. 프로세스 페이지는 지원되지 않습니다. 온-프레미스 XML 프로세스 모델에 지원되는 기능을 사용해야 합니다.
프로세스 내보내기 및 가져오기
프로세스 탭에서 줄임표(...)를 선택하여 내보내려는 호스트된 XML 프로세스의 바로 가기 메뉴를 엽니다. 호스트된 XML 프로세스만 내보낼 수 있습니다.
zip 파일을 저장하고 해당 파일에서 모든 파일을 추출합니다.
루트 디렉터리에 있는 ProcessTemplate.xml 파일 내의 프로세스 이름을 바꿉니다.
프로세스 이름을 지정하여 기존 프로세스와 구분합니다.
<name>MyCompany Agile Process </name>
버전 유형을 변경하고 주 번호와 부 번호를 변경합니다. 이 예제와 같이 형식에 대한 고유 GUID를 제공합니다.
<version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>
지원되는 사용자 지정을 적용 합니다.
루트 디렉터리에 있는 모든 파일 및 폴더의 zip 파일을 만듭니다.
사용자 지정 프로세스의 zip 파일을 가져옵니다.
지원되는 사용자 지정
프로세스에 다음 사용자 지정을 적용할 수 있습니다.
- WIT를 추가, 제거 또는 수정합니다.
- 필드를 추가하거나 수정합니다.
- 최대 5개의 포트폴리오 백로그를 추가합니다.
- 프로세스 구성에 사용할 범주 를 추가합니다.
- 프로세스 구성을 수정합니다.
- 전역 목록을 추가합니다.
다음 섹션에서는 시스템에서 적용하는 제한 사항을 나열합니다.
제한 사항
최대 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, MATCH 및 PROHIBITEDVALUES를 포함할 수 없습니다.
- 다음 필드를 제외하고 시스템에 대한 FIELD 정의입니다.이름 필드에는 필드 규칙이 포함될 수 없습니다.
- System.Title에는 REQUIRED 및 DEFAULT 규칙이 포함될 수 있습니다.
- System.Description에는 REQUIRED 및 DEFAULT 규칙이 포함될 수 있습니다.
- System.AssignedTo는 REQUIRED, DEFAULT, ALLOWEXISTINGVALUE 및 VALIDUSER 규칙을 포함할 수 있습니다.
- System.ChangedBy는 REQUIRED, DEFAULT, ALLOWEXISTINGVALUE 및 VALIDUSER 규칙을 포함할 수 있습니다.
일관된 이름 및 특성
프로세스 또는 프로젝트 컬렉션 내에서 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 요소는 사용자 지정 컨트롤을 지정할 수 없습니다. 사용자 지정 컨트롤은 지원되지 않습니다.