다음을 통해 공유


작업 추적을 위한 필드 추가 또는 수정

Azure DevOps Server 2022 - Azure DevOps Server 2019

프로젝트에는 Agile, Basic, Scrum 또는 CMMI와 같이 만드는 데 사용되는 프로세스에 따라 100개 이상의 데이터 필드가 포함됩니다. 각 작업 항목은 WIT(작업 항목 유형)에 연결되며 추적할 수 있는 데이터는 해당 WIT에 할당된 필드에 해당합니다. 작업 항목 내의 데이터 필드를 수정하여 작업 항목 데이터를 업데이트할 수 있습니다.

참고 항목

상속된 프로세스 모델을 사용하는 경우 작업 항목 유형에 사용자 지정 필드 추가를 참조하세요.

기존 필드를 수정하거나 사용자 지정 필드를 추가하여 더 많은 데이터를 추적할 수 있습니다. 예를 들어 드롭다운 메뉴에서 선택 목록을 사용자 지정하거나, 기본값을 설정하거나, 필드에서 허용할 수 있는 값을 제한할 수 있습니다.

선택 목록은 다음 표와 같이 사용자 인터페이스, WIT 워크플로 또는 프로젝트에 사용자 계정을 추가하는 등 다양한 방법으로 정의됩니다.

WIT 정의 명령줄 변경(온-프레미스 XML 프로세스)
- 선택 목록 사용자 지정
- 필드에 규칙 추가
- 사용자 지정 필드 추가
- 양식의 필드 레이블 변경
- 사용자 지정 컨트롤 추가
- 필드 나열
- 필드 특성 변경
- 필드 삭제
- 필드 인덱싱

필수 조건

범주 요구 사항
필드 목록 컬렉션에서 프로젝트에 대한 프로젝트 수준 정보 보기 권한을 허용으로 설정합니다.
필드 추가 또는 사용자 지정 프로젝트 관리자 그룹의 구성원이 되거나 프로젝트 수준 정보 편집 권한이 허용으로 설정됩니다.
필드 삭제, 이름 바꾸기 또는 변경 Team Foundation Administrators 보안 그룹 또는 프로젝트 컬렉션 관리자 보안 그룹의 구성원이 됩니다.

관리자 로 추가하려면 프로젝트 컬렉션 수준 권한을 변경합니다.

작업 항목 필드가 추가되는 메서드

작업 항목 필드는 작업 항목 유형에 대한 데이터를 추적하고, 쿼리 필터 조건을 정의하고, 보고서를 생성합니다. 시스템 필드를 제외한 추적하려는 모든 데이터 요소는 작업 항목 필드로 정의되어야 합니다. WIT(작업 항목 유형) 또는 전역 워크플로 정의 내에서 필드를 정의할 수 있습니다.

작업 항목 필드는 프로젝트 컬렉션 수준에서 유지 관리되며 다음 시나리오에서 추가됩니다.

  • 프로젝트 만들기: WIT 또는 전역 워크플로에 대해 선택한 프로세스 템플릿에 정의된 필드가 만들어집니다. 핵심 시스템 필드는 모든 작업 항목 유형에 대해 자동으로 포함됩니다. 핵심 시스템 필드 목록은 작업 항목 필드 인덱스입니다. 템플릿에 대한 자세한 내용은 프로세스 템플릿을 참조하세요.
  • WIT 정의 가져오기: WIT 정의에 정의된 새 필드가 컬렉션에 추가됩니다. 모든 WITD XML 요소 참조에 대해 자세히 알아봅니다.
  • 전역 워크플로 정의 가져오기: 전역 워크플로에 정의된 새 필드가 컬렉션에 추가됩니다. 전역 워크플로를 사용하면 여러 작업 항목 유형에서 공유 필드를 사용할 수 있습니다. 자세한 내용은 전역 워크플로 사용자 지정 을 참조하세요.

컬렉션의 전체 필드 집합에는 WIT에 정의된 모든 필드와 모든 프로젝트의 전역 워크플로가 포함됩니다. 특성을 수정하거나, 필드를 바꾸거나, 삭제할 수 있지만 이러한 변경 내용은 온-프레미스 서버 및 보고에 영향을 줄 수 있습니다.

필드를 추가하거나 사용자 지정하려면 WIT 정의의 XML 콘텐츠를 편집합니다. FIELDS 섹션 내에서 FIELD 요소를 사용하여 각 필드를 정의합니다. 자세한 내용은 모든 FIELD XML 요소 참조를 참조하세요.

필드 추가, 규칙 적용 또는 특성 변경

사용자 지정 필드를 추가하거나, 필드 규칙을 추가하거나, 작업 항목 양식에서 필드의 레이블을 변경하려면 해당 필드를 사용하는 WIT 또는 형식을 수정합니다. 프로세스 모델과 일치하는 사용자 지정 시퀀스를 따릅니다.

필드 특성을 변경하거나 필드 이름을 바꾸려면 witadmin 명령줄 도구를 사용합니다. 그렇지 않은 경우 필드를 수정하려면 WIT 정의 내의 필드와 연결된 규칙을 추가하거나 수정합니다.

스크린샷은 필드 특성 및 필드 규칙의 요약을 보여줍니다.

WIT 정의 파일 편집

규칙을 추가하거나 사용자 지정 필드를 추가하려면 WIT 정의 파일을 내보내고 편집한 다음 가져옵니다.

witadmin을 사용하면 정의 파일을 가져오고 내보낼 수 있습니다. 사용할 수 있는 다른 도구에는 프로세스 편집기(Visual Studio 버전을 설치해야 합니다)가 포함됩니다. Visual Studio Marketplace에서 프로세스 템플릿 편집기를 설치합니다.

데이터를 추적하려면 시스템 필드(System으로 시작하는 참조 이름이 있는 필드)를 제외하고 WIT 정의 파일에 필드를 추가 합니다. WIT 정의에 포함되지 않더라도 모든 WIT에 대해 시스템 필드가 자동으로 정의됩니다. 자세한 내용은 작업 항목 필드 인덱스입니다.

확인란 또는 부울 필드 추가

다음 구문을 사용하여 WIT 정의의 FIELDS 섹션 내에 부울 필드를 추가합니다.

<FIELD name="Triage" refname="Fabrikam.Triage" type="Boolean" >
   <DEFAULT from="value" value="False" />
   <HELPTEXT>Triage work item</HELPTEXT>
</FIELD>

그런 다음 FORM 섹션 내에 다음 구문을 추가하여 필드가 양식에 표시되도록 합니다.

<Control Label="Triage" Type="FieldControl" FieldName="Fabrikam.Triage" />

필드가 양식의 확인란으로 나타납니다.

선택 목록 사용자 지정

선택 목록은 작업 항목 양식의 드롭다운 메뉴와 쿼리 편집기의 값 열에 표시되는 열거형 입니다. 대부분의 문자열 또는 정수 필드에 대한 선택 목록을 사용자 지정하려면 WIT 정의를 편집합니다. 예를 들어 다음 XML을 사용하여 선택 목록이 있는 사용자 지정 해결 필드를 추가합니다.

사용자 지정 필드 및 선택 목록
스크린샷은 사용자 지정 선택 목록을 보여줍니다.

<FIELD name="Resolution" refname="MyCompany.Resolution" type="String">    
<ALLOWEDVALUES>
   <LISTITEM value="By Design" />
   <LISTITEM value="Duplicate" />
   <LISTITEM value="External" />
   <LISTITEM value="Fixed" />
   <LISTITEM value="Not Repro" />
   <LISTITEM value="Postponed" />
   <LISTITEM value="Won't Fix" />
</ALLOWEDVALUES>
</FIELD>

규칙을 사용하면 목록을 결합하고, 목록에 액세스할 수 있는 사용자를 제한하고, 작업 항목 양식에 목록이 표시되는 경우에 대한 조건을 설정할 수 있습니다. expanditemsfilteritems 특성을 사용하여 메일 그룹이 개별 멤버를 표시할지 또는 특정 항목을 필터링하는지 여부를 제어할 수 있습니다.

유지 관리를 간소화하려면 WIT 또는 프로젝트에서 공유 목록에 대한 전역 목록을 사용합니다. 전역 목록은 공유 목록을 업데이트하는 데 필요한 노력을 줄입니다. 목록의 일부가 WIT 또는 프로젝트 간에 달라야 하는 경우 선택 목록의 특정 부분에 대한 전역 목록을 정의할 수 있습니다. 자세한 내용은 선택 목록 정의전역 목록 정의를 참조하세요.

필드에 규칙 추가

사용자 지정 필드를 추가하거나 필드에 규칙을 적용하려면 WIT 정의를 편집합니다. for 또는 not 특성을 사용하여 규칙을 특정 사용자 또는 그룹으로 제한하여 규칙이 적용되거나 제외되는 사용자를 정의할 수 있습니다.

예를 들어 다음 코드 조각은 사용자 지정 정의 그룹인 관리 팀의 구성원만 작업 항목을 만든 후 스택 순위 필드를 수정할 수 있는 규칙을 적용합니다.

<FIELD name="Stack Rank" refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension">  
   <FROZEN not="[project]\Management Team" />  
   <HELPTEXT>Work first on items with lower-valued stack rank. Set in triage.</HELPTEXT>
</FIELD>  

필드에 규칙을 적용하여 다음 작업을 수행할 수 있습니다.

조치 XML 요소
필드에 도구 설명을 추가합니다. HELPTEXT
필드에 있을 수 있는 값을 정의하거나 제한합니다. CANNOTLOSEVALUE, EMPTY, FROZEN, NOTSAMEAS, READONLY, REQUIRED
값을 복사하거나 필드의 기본값을 설정합니다. COPY, DEFAULT, SERVERDEFAULT
필드를 수정할 수 있는 사용자를 제한합니다. VALIDUSER, 에 대한, 아닌
문자열 필드에 패턴 일치를 적용합니다. 경기
다른 필드 값에 따라 조건부로 규칙을 적용합니다. WHEN, WHENNOT, WHENCHANGED, WHENNOTCHANGED

"시스템" 접두사로 식별되는 시스템 필드(예: System.ID)는 제한된 규칙 사용자 지정을 허용합니다. 예를 들어 작업 항목을 만들거나 변경하거나 닫은 사람 또는 시스템 관리 날짜/시간 필드를 추적하는 필드를 복사하거나 지울 수 없습니다.

필드 규칙 및 제한 사항에 대한 자세한 내용은 규칙 및 규칙 평가를 참조하세요.

사용자 지정 필드 추가

사용자 지정 필드를 추가하려면 WIT 정의를 편집하여 FIELDS 섹션 내의 FIELD 요소와 FORM 섹션 내Control 요소를 추가합니다.

  1. 사용하는 프로세스 모델을 기반으로 WIT 정의 파일을 내보냅니다.

  2. 로 시작하는 XML 파일의 섹션을 찾습니다 FIELDS.

  3. FIELD 추가할 사용자 지정 필드의 이름을 지정하는 요소를 추가합니다. 다음 필수 특성을 지정해야 합니다. 친숙한 name, refname (참조 이름) 및 type. 자세한 내용은 FIELD(정의) 요소 참조를 참조하세요.

    다음 코드는 참조 이름 및 허용된 값의 선택 목록과 Customer의 FabrikamFiber.MyTeam.Requestor 기본값을 사용하여 사용자 지정 필드인 Requestor를 지정합니다.

    <FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension">
       <ALLOWEDVALUES>
          <LISTITEM value="Customer" />
          <LISTITEM value="Executive Management" />
          <LISTITEM value="Other" />
          <LISTITEM value="Support" />
          <LISTITEM value="Team" />
          <LISTITEM value="Technicians" />
          <DEFAULTVALUE value="Customer" />
        </ALLOWEDVALUES>
    </FIELD>
    

    XML 정의 파일에 요소를 입력하는 방법에 관계없이 목록 내의 요소는 항상 영숫자 순서로 표시됩니다. 참조 이름 또는 refname필드의 프로그래밍 이름입니다. 다른 모든 규칙은 .를 refname참조해야 합니다. 자세한 내용은 명명 제한 사항 및 규칙을 참조 하세요.

  4. Control 사용자 지정 필드가 표시할 요소 그룹 내의 폼에 표시되도록 섹션 내에 FORM 요소를 추가합니다.

    예를 들어 다음 코드 조각은 작업 항목 양식의 이유 필드 아래에 표시할 요청자 필드를 추가합니다.

    <Column PercentWidth="50">
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
             <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" />
          </Column>
       </Group>
    </Column>
    

    작업 추적을 위한 스키마 정의에서 FORM 요소의 모든 자식 요소는 카멜 표기법을 사용해야 하지만, 다른 모든 요소는 대문자로 표기해야 합니다. 열기 및 닫는 태그의 사례 구조가 유효성 검사 오류를 방지하기 위해 XML 구문 규칙과 일치하는지 확인합니다. 자세한 내용은 Control XML 요소 참조를 참조하세요.

  5. 사용하는 프로세스 모델에 따라 WIT 정의 파일을 가져옵니다.

  6. 웹 포털 또는 팀 탐색기를 열어 변경 내용을 봅니다. 클라이언트가 이미 열려 있는 경우 페이지를 새로 고칩니다.

    다음 그림에서는 제품 백로그 항목의 작업 항목 양식에 이제 새 필드가 포함되어 있음을 보여 줍니다.

    스크린샷은 양식의 새 필드를 보여줍니다.

작업 항목 양식의 필드 레이블 변경

필드 레이블을 수정하려면 요소 Control 특성에 Label 할당된 값을 변경합니다. 작업 항목 양식에서 필드를 제거하려면 필드와 연결된 요소를 삭제 Control 합니다.

  1. 프로세스 모델에 따라 WIT 정의 파일을 내보냅니다.

  2. FORMLayout 섹션에서 수정할 필드의 정의를 찾습니다. 다음은 제목 필드의 레이블을 수정하는 예제입니다.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title" LabelPosition="Left" />  
    </Column>
    
  3. 이 특정 프로젝트에서 작업하는 포르투갈 지점이 작업 항목 양식으로 작업할 때 제목 필드의 이름을 읽을 수 있도록 필드의 레이블을 변경합니다. 제목 필드에 제목에 대한 포르투갈어 단어(Titulo)를 포함합니다.

    <Column PercentWidth="70">  
       <Control Type="FieldControl" FieldName="System.Title" Label="Title (Titulo):" LabelPosition="Left" />  
    </Column>
    
  4. 수정된 WIT 정의를 가져옵니다.

사용자 지정 컨트롤 추가

작업 항목을 추적하기 위해 REST API를 사용하여 버그, 작업 및 기타 WIT(작업 항목 유형)를 프로그래밍 방식으로 만들고, 업데이트하고, 찾을 수 있습니다. 또한 사용자 지정 컨트롤을 만들어 작업 항목 양식의 기능을 향상시킬 수 있습니다.

또는 다음과 같이 Visual Studio Marketplace를 통해 사용할 수 있는 사용자 지정 컨트롤을 사용할 수 있습니다.

새 웹 양식에 사용자 지정 컨트롤을 추가하려면 WebLayout 및 Control 요소를 참조 하세요.

기존 필드의 특성 변경

witadmin changefield를 사용하여 기존 필드의 특성을 변경합니다. 예를 들어, 다음 명령은 MyCompany.Type에 대해 정의된 친근한 이름을 평가 방법으로 변경합니다.

witadmin changefield /collection:http://AdventureWorksServer:8080/ DefaultCollection/n:MyCompany.Type /name:"Evaluation Method"

다음 표에는 witadmin changefield를 사용하여 변경할 수 있는 특성이 요약되어 있습니다.

attribute 설명
데이터 형식 필드에서 허용하는 데이터 형식을 지정합니다. 일반적으로 필드 데이터 형식이 정의되면 변경할 수 없습니다. HTML 또는 PlainText 형식의 필드에 대해서만 필드 데이터 형식을 전환할 수 있습니다.
식별 이름 친숙한 이름은 작업 항목 쿼리의 드롭다운 메뉴에 표시되며 프로젝트 컬렉션 내에 정의된 모든 필드에서 고유해야 합니다. 친숙한 이름은 작업 항목 양식에 표시되는 양식 레이블과 다를 수 있습니다.
보고 특성 보고서에 표시되는 필드 이름, 보고서 참조 이름 및 보고 유형을 변경할 수 있습니다. 보고 이름을 지역화할 수 있습니다.

보고 유형은 필드의 데이터가 관계형 웨어하우스 데이터베이스, 관계형 웨어하우스 데이터베이스 및 OLAP 큐브에 기록되는지 또는 OLAP 큐브를 처리할 때 미리 계산된 값 합계를 생성할지를 결정합니다.

기본 보고 가능 필드의 전체 목록은 보고서 가능 필드 참조를 참조하세요. 보고 가능한 특성에 대한 자세한 내용은 작업 항목 필드 및 특성, 보고서 가능 특성을 참조 하세요.
동기화 Active Directory를 사용하여 개인 이름 필드에 대한 동기화를 사용하거나 사용하지 않도록 설정할 수 있습니다.

필드의 인덱스 특성 변경

필터링할 때 쿼리 응답 시간을 개선하기 위해 필드에 대한 인덱싱을 사용하도록 설정합니다. 기본적으로 인덱싱되는 필드는 할당 대상, 만든 날짜, 변경한 사람, 상태, 이유, 영역 ID, 반복 ID 및 작업 항목 유형입니다.

필드에 대한 인덱싱을 사용하거나 사용하지 않도록 설정하려면 witadmin indexfield 명령을 사용합니다.

필드 삭제

특정 WIT에서 필드를 제거하면 WIT에서 더 이상 참조되지 않더라도 필드가 컬렉션 또는 데이터베이스 서버에 유지됩니다. 필드를 완전히 제거하려면 다음 단계를 수행합니다.

  1. FIELD 모든 WIT 정의 및 정의를 참조하는 모든 전역 워크플로에서 정의를 제거합니다.

  2. 필드가 사용되지 않는지 확인합니다. 예시:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
    Field: MyCompany.CustomContact
    Name: Custom Contact
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  3. 필드를 삭제합니다. 예시:

    witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomContact
    
  4. 삭제된 필드를 보고할 수 있고 프로젝트에서 SQL Server Reporting Services를 사용하는 경우 데이터 웨어하우스를 다시 빌드하여 이전 필드와 해당 값을 제거합니다.

자세한 내용은 작업 항목 필드 관리를 참조 하세요.

테스트, 빌드 및 버전 제어 필드

특정 작업 항목 유형에는 Team Foundation Build, Microsoft Test Manager 및 Team Foundation 버전 제어와 통합되는 자동화된 프로세스에서 생성된 필드가 포함됩니다. 이러한 필드를 사용자 지정 작업 항목 유형(WIT)에 추가하려면 앞에서 설명한 단계에 따라 WIT 정의를 편집 합니다.

예를 들어 발견된 위치빌드에 통합됨 필드를 추가하여, 버그를 발견되거나 수정된 빌드와 연결할 수 있습니다. WIT 정의에 이러한 필드를 포함하려면 다음 코드 조각을 사용합니다.

<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
    <HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
    <HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
</FIELD>

자세한 내용은 빌드 및 테스트 통합 필드를 기반으로 하는 쿼리를 참조 하세요.

필드 이름 및 보고

필드를 추가하거나 기존 필드의 특성을 변경하여 보고를 지원할 수 있습니다. 필드를 추가하거나 변경할 때 필드가 폴더로 논리적으로 그룹화되므로 Analysis Services 큐브에서 필드를 찾을 수 있도록 체계적으로 이름을 지정해야 합니다. 자세한 내용은 보고를 지원하도록 작업 항목 필드 추가 또는 수정을 참조하세요.