작업 항목 필드 관리

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Important

온-프레미스 XML 프로세스 모델의 경우 witadmin을 사용하여 프로젝트에 대한 프로세스를 나열, 가져오기, 내보내기 및 수정할 수 있습니다. 상속 및 호스트된 XML 프로세스 모델의 경우 witadmin을 사용하여 프로세스 정보를 나열하고 내보낼 수 있습니다. 프로세스 모델 및 지원되는 항목에 대한 개요는 작업 추적 환경 사용자 지정을 참조하세요.

다음 witadmin 명령을 사용하여 프로젝트 컬렉션(온-프레미스 XML)에 대해 정의된 작업 항목 형식에 대해 정의된 필드를 관리할 수 있습니다. 전역 필드(온-프레미스 XML에 유효)를 추가하려면 전역 워크플로 파일을 수정하고 컬렉션으로 가져와서 추가할 수 있습니다.

  • changefield: 필드의 특성을 하나 이상 변경합니다. 다음 특성 중 하나를 변경하면 프로젝트 컬렉션 내의 모든 작업 항목 유형 및 프로젝트에 대해 변경합니다.
    • 필드 또는 HTML 필드의 데이터 형식입니다PlainText.

      Important

      Team Foundation Server를 이전 버전에서 현재 버전으로 업그레이드하면 설명(System.Description) 필드에 대한 형식 할당이 자동으로 변환됩니다 PlainTextHTML. 명령을 사용하면 changefield 이 필드의 내용을 복원하여 일반 텍스트를 표시할 수 있습니다.

    • 작업 항목 쿼리에 표시되는 이름 입니다. 이 이름은 작업 항목 양식에 표시되는 이름과 다를 수 있습니다.

    • 보고서에 표시되는 필드의 이름, 참조 보고서 이름 및 보고 형식을 포함하는 보고 특성 입니다.

    • Active Directory와의 동기화 - 사용자 이름 필드의 동기화를 사용하거나 사용하지 않도록 설정할 수 있습니다.

  • deletefield: 지정된 필드를 삭제합니다.
  • listfields: 모든 필드 또는 지정된 필드의 특성을 나열합니다.

참고 항목

witadmin indexfield 명령은 Azure DevOps Server 2019 이상 버전에서 더 이상 사용되지 않습니다. 인덱싱 필드는 더 이상 필요하지 않습니다.

witadmin 명령줄 도구 실행

명령줄 도구를 실행 witadmin 하려면 Visual Studio가 설치된 명령 프롬프트 창을 엽니다. 명령줄 도구는 witadmin 모든 버전의 Visual Studio와 함께 설치됩니다. Visual Studio Community 또는 Visual Studio 팀 탐색기의 무료 버전을 설치하여 이 도구에 액세스할 수 있습니다.

참고 항목

Azure DevOps Services에 연결하려면 최신 버전의 Visual Studio 또는 Visual Studio Community를 사용하는 것이 좋습니다.

참고 항목

온-프레미스 서버에 연결하려면 Azure DevOps Server와 동일한 이상 버전의 Visual Studio를 사용하는 것이 좋습니다. 예를 들어 Azure DevOps Server 2019에 연결하는 경우 Visual Studio 2019 버전에서 프로젝트에 연결합니다.

Visual Studio 2022의 경우

%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

또는 ProfessionalEnterpriseCommunity설치한 버전에 따라 대신

Visual Studio 2019의 경우

%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

또는 ProfessionalEnterpriseCommunity설치한 버전에 따라 대신

Visual Studio 2017의 경우

%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

또는 TeamExplorerProfessionalEnterprise설치한 버전에 따라 대신

32비트 버전의 Windows에서 %programfiles(x86)%를 %programfiles%대체합니다. Visual Studio Community(팀 탐색기에 대한 액세스 제공) 또는 Visual Studio Team Explorer 2017을 무료로 설치할 수 있습니다.

기본 프로세스 템플릿 내에 정의된 필드의 개요는 작업 항목 필드 인덱스입니다.

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

필수 조건

  • 필드를 나열하려면 컬렉션에서 프로젝트에 대한 프로젝트 수준 정보 보기 권한이 허용으로 설정되어 있어야 합니다.
  • 필드의 이름을 삭제하거나 이름을 바꾸거나 필드의 특성을 변경하려면 Team Foundation 관리istrators 보안 그룹 또는 Project Collection 관리istrators 보안 그룹의 구성원이어야 합니다.

자세한 내용은 프로젝트 컬렉션 수준 권한 변경을 참조 하세요.

참고 항목

관리자 권한으로 로그인하는 경우에도 관리자 권한 명령 프롬프트 창을 열어 Windows Server 2008을 실행하는 서버에서 이 함수를 수행해야 합니다. 관리자 권한 명령 프롬프트 창을 열려면 시작을 선택하고 명령 프롬프트 바로 가기 메뉴를 연 다음 관리로 실행을 선택합니다. 자세한 내용은 Microsoft 웹 사이트: 사용자 액세스 제어를 참조하세요.

구문

witadmin changefield /collection:CollectionURL /n:RefName   [/name:NewName]    [/syncnamechanges:true | false]   [/reportingname:ReportingName]    [/reportingrefname:ReportingRefName]   [/reportingtype:Type]   [/reportingformula:Formula]   [/type:PlainText | HTML]   [/noprompt]  

witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]  

witadmin listfields /collection:CollectionURL /n:RefName [/unused]  

매개 변수

매개 변수 설명
/collection:CollectionURL 프로젝트 컬렉션의 URI를 지정합니다. 예시:

온-프레미스 형식:http://ServerName:Port/VirtualDirectoryName/CollectionName
가상 디렉터리가 사용되지 않는 경우 다음 형식 http://ServerName:Port/CollectionName을 사용합니다.
/n:RefName
/n:Name
작업 항목 형식 필드의 참조 이름입니다.
/index 지정된 필드에 대해 인덱싱을 사용하거나 사용하지 않도록 지정합니다. 인덱싱을 사용하도록 설정하고 해제하여 인덱싱을 사용하지 않도록 설정하도록 지정합니다.
/name:NewName 필드의 새 이름을 지정합니다.
/syncnamechanges 작업 항목 필드를 사용하여 이름을 저장하고 Active Directory 또는 작업 그룹에서 변경 내용이 변경되면 업데이트하도록 지정합니다. 이 옵션은 문자열의 데이터 형식을 가진 필드가 에 대해 typename지정된 경우에만 유효합니다.

데이터 필드에 대한 동기화를 사용하도록 지정 true 하고 데이터 필드에 대한 동기화를 사용하지 않도록 지정 false 합니다.
/reportingname:ReportingName 보고에 사용할 데이터 웨어하우스의 필드 이름을 지정합니다.
/reportingrefname:ReportingRefName 보고에 사용할 데이터 웨어하우스 필드의 참조 이름을 지정합니다.
/reportingtype:Type 보고에 대해 웨어하우스에서 필드를 사용하는 방법을 지정합니다. 유효한 값은 다음과 같습니다.

- dimension: 정수, 문자열 또는 DateTime 필드에 사용됩니다.
- detail: 정수, Double, String 또는 DateTime 필드에 사용됩니다.
- measure: 정수 및 이중 필드에 사용됩니다. 기본 집계 유형은 합계입니다. 수식 매개 변수를 사용하여 다른 집계 형식을 지정할 수 있습니다.
- none: 필드에서 보고서 기능을 사용하지 않도록 설정하는 데 사용됩니다.

자세한 내용은 작업 항목 필드 및 특성 정보를 참조 하세요.
/reportingformula:Formula 필드가 로 보고 measure될 때 사용할 집계 수식을 지정합니다. 유일하게 지원되는 수식은 .입니다 sum.
/type:HTML | PlainText 필드의 내용을 으로 또는 그로 PlainTextHTMLHTML 변환하도록 PlainText지정합니다. 형식 할당 PlainText 이 있는 HTML필드에 대해서만 이 옵션을 지정할 수 있습니다. FIELD(정의) 요소 참조를 참조하세요.
/unused 프로젝트 컬렉션에 정의된 프로젝트에서 사용되지 않는 모든 필드를 나열합니다.
/noprompt 확인 프롬프트를 사용하지 않도록 설정합니다.
/? 또는 help 명령 프롬프트 창에 명령에 대한 도움말을 표시합니다.

Active Directory와 사용자 이름 동기화

Active Directory를 참조하는 사람 이름을 할당하는 데 사용되는 사용자 지정 작업 항목 필드의 동기화를 수동으로 사용하도록 설정해야 합니다. 사용자 지정 필드를 포함하는 각 프로젝트 컬렉션에 대해 각 필드에 대해 동기화를 사용하도록 설정해야 합니다.

사람 이름을 표시하는 모든 시스템 참조 필드에는 특성 syncnamechanges 이 .로 설정됩니다 true. 이러한 필드에는 System.AuthorizedAs, System.AssignedTo, System.ChangedBy 및 System.CreatedBy가 포함됩니다. 기본 프로세스 템플릿 중 하나에 정의된 각 사용자 이름 필드에 대해 동기화가 사용하도록 설정됩니다. 자세한 내용은 할당 및 워크플로 필드를 참조 하세요.

동기화를 사용하도록 설정하면 필드에 더 이상 정적 문자열이 표시되지 않습니다. 대신 필드에는 사용자 계정과 연결된 이름이 표시됩니다. Active Directory 또는 작업 그룹에서 사용자 이름을 변경하면 새 이름이 자동으로 표시되도록 true 설정된 필드 syncnamechanges 가 표시됩니다.

문자열 필드에 특성을 할당 syncnamechanges 할 때 필드는 항상 유효한 사용자 이름을 허용합니다. 그러나 다음 조건 true중 하나가 있는 경우 필드는 Team Foundation Server 또는 Active Directory에 저장된 그룹 이름을 허용하지 않습니다.

  • 규칙은 VALIDUSER 모든 작업 항목 유형에 대해 지정됩니다.

  • 작업 VALIDUSER 항목 유형에 대한 규칙이 지정됩니다.

  • 규칙은 ALLOWEDVALUES 작업 항목 유형에 대해 지정되며 해당 규칙에는 그룹을 제외하는 필터 조건이 있습니다.

    자세한 내용은 모든 FIELD 요소를 참조 하세요.

각 작업 항목 유형에 대해 변경할 수 있는 특성

필드가 표시되는 작업 항목 형식 정의를 변경하여 필드에 대해 정의된 다음 특성 또는 값을 변경합니다.

  • 작업 항목 양식에 표시되는 이름 입니다. WebLayout 및 Control 요소 또는 Control XML 요소 참조를 참조하세요.
  • 도움말 텍스트입니다. 규칙 및 규칙 평가를 참조하세요.
  • 선택 목록 또는 드롭다운 메뉴 내에서 허용되는 값 또는 항목입니다. ALLOWEDVALUES, SUGGESTEDVALUES 및 PROHIBITEDVALUES XML 요소를 참조 하세요.

예제

달리 지정하지 않는 한 각 예제에 다음 값이 적용됩니다.

  • 프로젝트 컬렉션에 대한 URI: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • 작업 항목 필드 이름: AdventureWorks.Field
  • 기본 인코딩: UTF-8

필드 나열

사용 중인 필드 집합을 확인하여 작업 항목 유형에 추가할 필드를 선택하는 데 사용합니다 witadmin listfields . 또한 특정 필드에 대해 정의된 특성 할당을 나열하고 어떤 프로젝트에서 사용되는 필드를 결정할 수 있습니다.

작업 항목 필드의 특성 보기

  • 다음 명령을 입력하여 지정된 필드에 대해 정의된 특성(예: Microsoft.VSTS.Common.Issue.)을 나열합니다.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue  
    

    이 예제와 같이 명명된 필드에 대한 필드 및 특성 정보가 나타납니다.

    Field: Microsoft.VSTS.Common.Issue  
    Name: Issue  
    Type: String  
    Reportable As: dimension  
    Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps)  
    Indexed: False  
    

    Use 매개 변수는 각 프로젝트의 이름과 필드가 사용되는 작업 항목 형식을 나타냅니다. 필드 특성 에 대한 자세한 내용은 작업 항목 필드의 인덱스입니다.

프로젝트 컬렉션의 모든 필드 나열

  • 프로젝트 컬렉션에 대해 정의된 모든 필드를 나열하려면 다음 명령을 입력합니다.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection  
    

    명명된 프로젝트 컬렉션의 모든 필드에 대한 필드 정보가 나타납니다. 작업 항목 필드의 인덱스 참조

사용되지 않는 필드 나열

  • 다음 명령을 입력하여 더 이상 프로젝트 컬렉션에서 작업 항목 형식으로 사용되지 않는 필드를 나열합니다.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused  
    

    이 예제와 같이 사용되지 않는 각 필드에 대한 필드 및 특성 정보가 나타납니다.

    Field: Microsoft.VSTS.CMMI.TaskType  
    Name: Task Type  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Flag  
    Name: Flag  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Progress  
    Name: Progress  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    

필드 이름 바꾸기

팀에서 사용하는 명명 규칙을 충족하도록 작업 항목 필드의 이름을 변경할 수 있습니다. 새 이름은 프로젝트 컬렉션의 모든 프로젝트에서 변경된 필드를 참조하는 모든 작업 항목 형식에 적용됩니다. 작업 항목 쿼리에서 필터 조건을 정의할 때 친숙한 이름이 표시됩니다. 작업 항목 양식에 표시되는 이름은 필드에 정의된 이름과 다를 수 있습니다.

작업 항목 필드의 이름을 바꾸려면

  1. 다음 명령을 입력하여 중요 순위Microsoft.VSTS.Common.Rank할당된 이름 이름을 바꿉니다.

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"  
    
  2. 확인 프롬프트에서 y를 입력한 다음 Enter 키를 누릅니다. 다음 메시지가 표시될 때까지 기다립니다.

    필드 이름이 바뀌었습니다.

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

  1. 팀 탐색기에서 새로 고침을 선택합니다새로 고침.

    최신 업데이트는 서버에서 다운로드되며, 여기에는 필드 이름에 대한 변경 내용이 포함됩니다. 새로 고침이 완료되기까지 몇 초 정도 기다립니다.

  2. 새 쿼리를 선택하여 쿼리를 만듭니다.

  3. 쿼리 편집기 행을 추가할 절 링크를 추가하려면 여기 클릭을 선택하고 필드 셀을 선택한 다음 셀에 Rank를 입력합니다. 결과 목록 위에 표시되는 다음 메시지입니다. 이 메시지는 순위를 찾을 수 없음을 나타냅니다.

    쿼리를 실행하여 쿼리 결과를 확인합니다. TF51005: 쿼리는 존재하지 않는 필드를 참조합니다. 이 오류는 순위에 의해 <<발생합니다>>.

  4. 필드 셀에서 Rank 값을 삭제하고 셀에 중요 순위를 입력합니다.

  5. 연산자 셀에서 선택하고 <> 값 셀에 1입력합니다.

  6. 쿼리 도구 모음에서 실행을 선택합니다쿼리 실행.

  7. 결과의 모든 행에 대한 바로 가기 메뉴를 열고 열 옵션을 선택합니다. 사용 가능한 열 목록에서 아래로 스크롤합니다 . 순위 필드는 더 이상 없지만 중요 순위 필드가 있습니다.

  8. 사용 가능한 열 상자에서 중요 순위를 선택한 다음 단추를 선택합니다>(선택한 열 추가). 확인을 선택합니다.

    Microsoft.VSTS.Common.Rank의 이름 이름이 쿼리 작성기 및 결과 목록 전체에서 순위에서 중요 순위로 변경되었습니다.

  9. 쿼리를 닫습니다. 쿼리를 저장하라는 메시지가 표시되면 아니요를 선택합니다.

  10. 새 작업 작업 항목을 만듭니다. 새 작업 항목 링크를 선택한 다음 작업을 선택합니다.

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

  11. 상태 상자에서 이름이 바뀐 필드인 순위에 대한 레이블이 변경되지 않았습니다. 작업 항목 양식의 필드 레이블이 부모 프로젝트로 범위가 지정되고 방금 지정한 서버 전체 필드 이름과 독립적이기 때문입니다.

    참고 항목

    작업 항목 양식에서 필드 레이블을 변경하는 방법에 대한 자세한 내용은 Control XML 요소 참조를 참조하세요.

  12. 새 작업을 닫고 작업 항목을 저장하라는 메시지가 표시되면 아니요를 선택합니다.

필드를 값으로 보고서 변경

다음 명령은 DateTime 필드 AdventureWorks.CreatedOn의 형식을 차원에 보고하는 기능을 지정합니다. 이 필드의 데이터는 보고서를 필터링하는 데 사용할 수 있도록 웨어하우스 및 Analysis Services 데이터베이스에 들어갑니다.

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension  

다음 명령은 측정할 Double 필드 AdventureWorks.Field의 형식을 보고하는 기능을 지정합니다. 모든 측정값은 합계로 집계됩니다.

witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure  

사용자 지정 사용자 이름 필드의 동기화 사용

다음 명령은 작업 항목 필드 AW에 대한 동기화를 사용하도록 설정합니다. AdventureWorksServer의 Collection1에 대해 정의된 CustomerName입니다.

변환할 필드의 데이터 형식 확인

  1. 다음 명령을 입력하여 동기화하려는 MyCompany.CustomerName과 같은 필드에 할당된 데이터 형식을 확인합니다.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName  
    

동기화 사용

  1. 사용자 이름 필드에 대한 동기화를 사용하도록 설정하려면 다음 명령을 입력하고 여기에 표시된 인수에 대한 데이터를 대체합니다.

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true  
    
  2. 다음 확인 프롬프트가 나타납니다.

    그러면 Team Foundation Server의 필드 {0} 속성이 변경됩니다. 계속할까요?

  3. 필드를 변경하려는지 확인하려면 0을 입력하고, 1을 입력하여 요청을 취소합니다.

    변경 요청이 성공하면 다음 확인 메시지가 나타납니다.

    필드가 업데이트되었습니다.

    변경 요청이 실패하면 오류 메시지가 나타납니다. 가장 일반적인 실수는 시스템 참조 필드를 변경하거나 String 이외의 데이터 형식의 필드를 변경하려고 하는 것입니다. 이러한 작업은 지원되지 않습니다.

필드 삭제

필드를 삭제하기 전에 필드가 사용되고 있지 않은지 확인합니다. 필드를 사용 중인 경우 먼저 프로젝트 컬렉션에서 필드를 삭제하기 전에 해당 필드를 사용하는 작업 항목 형식에서 제거해야 합니다. 다음 명령은 Collection1에서 필드를 AdventureWorks.Field 삭제합니다.

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field  

필드가 사용되지 않는지 확인

  1. 작업 항목 필드의 참조 이름(예: MyCompany.MyProcess.MyField.)을 지정하여 다음 명령을 입력합니다.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField  
    

    필드에 표시되는 정보에서 이 예제와 같이 사용이 "사용되지 않음"인지 확인합니다.

    Field: MyCompany.MyProcess.MyField  
    Name: MyField  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
  2. 사용 필드에 필드가 사용 중임을 나타내는 경우 나열된 각 프로젝트의 각 작업 항목 유형에서 해당 필드를 삭제해야 합니다. 예를 들어 필드는 Arroyo, Desert, Microsoft.VSTS.TCM.SystemInfo Palm 및 Springs의 네 가지 프로젝트에 대해 버그 및 코드 결함 작업 항목 유형에서 사용 중임을 나타냅니다.

    Field: Microsoft.VSTS.TCM.SystemInfo  
    Name: System Info  
    Type: Html  
    Reportable As: None  
    Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect)  
    Indexed: False  
    

    이 필드를 삭제하려면 먼저 정의된 각 프로젝트에 대해 나열된 각 작업 항목 유형에서 제거해야 합니다. 필드를 제거하려면 필드 참조 이름을 포함하는 요소와 Control 항목을 삭제하여 작업 항목 형식에 FIELD 대한 정의를 수정합니다. 가져오기, 내보내기 및 작업 항목 형식, FIELD(정의) 요소 참조Control을 참조하세요.

프로젝트 컬렉션에서 필드 삭제

다음 명령을 입력하여 필드를 삭제한 MyCompany.MyProcess.MyField 다음 Enter 키를 선택합니다.

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName  

확인 프롬프트에 y를 입력하여 이 단계를 완료합니다.