다음을 통해 공유


작업 항목 필드 관리[witadmin]

다음 witadmin 명령을 사용하여 팀 프로젝트 컬렉션에 대해 정의된 작업 항목 형식 필드를 관리할 수 있습니다.

  • changefield: 필드의 하나 이상의 특성을 변경합니다. 다음 특성 중 하나를 변경할 때는 팀 프로젝트 컬렉션 내의 모든 작업 항목 형식 및 팀 프로젝트에 대해 해당 특성을 변경합니다.

    • PlainText 또는 HTML 필드의 데이터 형식

      중요

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

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

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

    • Active Directory와의 동기화 - 사람 이름 필드 동기화를 사용/사용 안 함으로 설정할 수 있습니다.

  • deletefield: 지정된 필드를 삭제합니다.

  • indexfield: 지정된 필드에 대해 인덱싱을 설정 또는 해제합니다. 필드에 대한 인덱싱을 사용하도록 설정하면 해당 필드를 지정하는 쿼리가 있는 작업 항목의 찾기 성능을 향상시킬 수 있습니다. 여러 작업 항목 쿼리에서 사용하는 사용자 지정 필드를 추가하는 경우 해당 필드에 대한 인덱싱을 사용할 수 있도록 설정할 수도 있습니다.

  • listfields: 모든 필드 또는 지정된 필드에 대한 특성을 나열합니다.

witadmin 명령줄 도구를 실행하려면 Visual Studio 또는 팀 탐색기가 설치된 명령 프롬프트 창을 열고 다음을 입력합니다.

cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE

32비트 버전의 Windows에서는 **%programfiles(x86)%**를 **%programfiles%**로 바꿉니다.

Team Foundation Server에서 제공되는 기본 프로세스 템플릿 내에 정의된 필드 개요는 Visual Studio ALM의 작업 항목 필드 참조를 참조하세요.

참고

Visual Studio의 강력한 도구인 프로세스 편집기를 사용하여 작업 항목 필드를 만들고 수정할 수 있습니다.이 도구는 지원되지 않습니다.자세한 내용은 Microsoft 웹 사이트의 Team Foundation Server Power Tools 페이지를 참조하세요.

요구 사항

  • 필드를 나열하려면 컬렉션에서 팀 프로젝트에 대한 프로젝트 수준 정보 보기 권한이 허용으로 설정되어 있어야 합니다.

  • 필드를 삭제하거나 필드의 이름을 바꾸거나 필드의 특성을 변경하려면 Team Foundation Administrators 보안 그룹 또는 Project Collection Administrators 보안 그룹의 멤버여야 합니다.

자세한 내용은 Team Foundation Server에 대한 사용 권한 참조을 참조하십시오.

참고

관리 권한으로 로그온한 경우에도 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 indexfield /collection:CollectionURL /n:Name /index:on|off 

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

매개 변수

매개 변수

설명

/collection:CollectionURL

팀 프로젝트 컬렉션의 URI를 지정합니다. URI의 형식은 다음과 같습니다. http://ServerName:Port/VirtualDirectoryName/CollectionName

가상 디렉터리를 사용하지 않는 경우 URI 형식은 다음과 같습니다.

http://ServerName:Port/CollectionName

/n:RefName

/n:Name

작업 항목 형식 필드의 참조 이름입니다.

/index

지정된 필드에 대해 인덱싱을 사용하거나 사용하지 않도록 지정합니다. 인덱싱을 사용하도록 설정하려면 on을 지정하고, 인덱싱을 사용하지 않도록 설정하려면 off를 지정합니다.

/name:NewName

필드의 새 이름을 지정합니다.

/syncnamechanges

작업 항목 필드를 사용하여 이름을 저장하고 Active Directory 또는 작업 그룹에서 변경이 수행됨에 따라 업데이트되도록 지정합니다. 이 옵션은 데이터 형식이 String인 필드가 typename에 대해 지정된 경우에만 유효합니다.

데이터 필드에 동기화를 사용하려면 true를 지정하고, 데이터 필드에 동기화를 사용하지 않으려면 false를 지정합니다.

/reportingname:ReportingName

보고에 사용할 데이터 웨어하우스에 필드의 이름을 지정합니다.

/reportingrefname:ReportingRefName

보고에 사용할 데이터 웨어하우스에 필드의 참조 이름을 지정합니다.

/reportingtype:Type

보고를 위한 웨어하우스에서 필드가 사용되는 방식을 지정합니다. 유효한 값은 다음과 같습니다.

  • dimension: Integer, String 또는 DateTime 필드에 사용됩니다.

  • detail: Integer, Double, String 또는 DateTime 필드에 사용됩니다.

  • measure: Integer 및 Double 필드에 사용됩니다. 기본 집계 형식은 합계입니다. formula 매개 변수를 사용하여 다른 집계 형식을 지정할 수 있습니다.

  • none: 필드에 대해 보고 가능을 사용하지 않도록 설정하는 데 사용됩니다.

자세한 내용은 작업 항목 필드 정의 및 수정을 참조하십시오.

/reportingformula:Formula

필드가 measure로 보고되면 사용할 집계 수식을 지정합니다. 지원되는 유일한 수식은 sum입니다.

/type:HTML | PlainText

필드 내용을 PlainText에서 HTML로 또는 HTML에서 PlainText로 변환하도록 지정합니다. 이 옵션은 형식 할당이 PlainText 또는 HTML인 필드에 대해서만 지정할 수 있습니다. FIELD(정의) 요소 참조을 참조하세요.

/unused

팀 프로젝트 컬렉션에 정의된 모든 팀 프로젝트에서 사용되지 않는 모든 필드를 나열합니다.

/noprompt

확인을 위한 프롬프트를 사용하지 않도록 설정합니다.

/? or help

명령 프롬프트 창에 명령에 대한 도움말을 표시합니다.

설명

인덱싱된 필드

쿼리 인덱스는 인덱싱이 사용하도록 설정된 필드를 기준으로 만들어집니다. 이 인덱스는 인덱싱된 필드를 포함하는 쿼리를 실행할 때 응답 시간을 단축합니다.

기본적으로 담당자, 만든 날짜, 변경한 사람, 상태, 이유, 영역 ID, 반복 ID 및 작업 항목 형식 필드가 인덱싱됩니다. 팀이 쿼리에 자주 사용하는 다른 필드가 있을 경우 쿼리 인덱스에 추가할 수 있습니다.

Active Directory와 사람 이름 동기화

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

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

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

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

  • VALIDUSER 규칙이 모든 작업 항목 형식에 걸쳐 지정된 경우

  • VALIDUSER 규칙이 작업 항목 형식 하나에 대해 지정된 경우

  • ALLOWEDVALUES 규칙이 작업 항목 형식 하나에 대해 지정되고, 해당 규칙에 그룹을 제외하는 필터 조건이 포함된 경우

자세한 내용은 모든 FIELD 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 매개 변수는 필드가 사용된 각 프로젝트의 이름 및 작업 항목 형식을 나타냅니다. 필드 특성에 대한 자세한 내용은 Visual Studio ALM의 작업 항목 필드 참조를 참조하세요.

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

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

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

    명명된 프로젝트 컬렉션의 모든 필드에 대한 필드 정보가 표시됩니다. Visual Studio ALM의 작업 항목 필드 참조을 참조하세요.

사용되지 않는 필드 나열

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

    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에 할당된 이름을 Important Rank로 바꿉니다.

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

    Field renamed.

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

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

    방금 필드 이름에 대해 수행한 변경 내용을 포함한 최신 업데이트가 서버에서 다운로드됩니다. 새로 고침이 완료될 때까지 몇 초간 기다립니다.

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

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

    쿼리 결과를 보려면 쿼리를 실행하십시오. TF51005: 쿼리에서 존재하지 않는 필드를 참조합니다. 오류의 원인은 <<Rank>>입니다.

  4. 필드 셀에서 Rank 값을 삭제하고 해당 셀에 Important Rank를 입력합니다.

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

  6. 쿼리 도구 모음에서 쿼리 실행(팀 탐색기) 실행을 선택합니다.

  7. 결과에서 아무 행이나 해당 바로 가기 메뉴를 열고 열 옵션을 선택합니다. 사용 가능한 목록에서 아래로 스크롤합니다. Rank 필드는 더 이상 표시되지 않지만 Important Rank 필드는 표시됩니다.

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

    Microsoft.VSTS.Common.Rank의 이름이 전체 쿼리 작성기 및 결과 목록에서 Rank에서 Important Rank로 바뀌었습니다.

  9. 쿼리를 닫습니다. 쿼리를 저장할 것인지 묻는 메시지가 나타나면 아니요를 선택합니다.

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

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

  11. 상태 상자에서 이름이 바뀐 필드 Rank의 레이블은 변경되지 않았습니다. 작업 항목 폼에 대한 필드 레이블이 부모 팀 프로젝트로 범위가 지정되고 방금 지정한 서버 전체 필드 이름과는 별개이기 때문입니다.

    참고

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

  12. 새 작업을 닫고 작업 항목을 저장할 것인지 묻는 메시지가 나타나면 아니요를 선택합니다.

필드의 값으로 보고서 변경

다음 명령은 DateTime 필드 AdventureWorks.CreatedOn의 형식을 dimension으로 보고하는 기능을 지정합니다. 이 필드의 데이터는 보고서를 필터링하는 데 사용될 수 있도록 웨어하우스 및 Analysis Services 데이터베이스에 입력됩니다.

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

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

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

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

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

변환하려는 필드의 데이터 형식 확인

  • 다음 명령을 입력하여 동기화하려는 필드(예: 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. 다음과 같은 확인 프롬프트가 표시됩니다.

    This will change properties for field {0} on the Team Foundation Server. Do you want to continue?

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

    변경 요청에 성공하면 다음과 같은 확인 메시지가 표시됩니다.

    The field was updated.

    변경 요청에 실패하면 오류 메시지가 표시됩니다. 가장 흔히 하는 실수는 시스템 참조 필드를 변경하려고 하거나 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
    

    필드에 대해 표시된 정보에서, 이 예제에 표시된 것처럼 Use의 값이 "Not In Use"인지 확인합니다.

    Field: MyCompany.MyProcess.MyField
    Name: MyField
    Type: String
    Reportable As: dimension
    Use: Not In Use
    Indexed: False
    
  2. Use 필드가 해당 필드가 사용 중임을 나타내는 경우 나열된 각 팀 프로젝트의 각 작업 항목 형식에서 해당 필드를 삭제해야 합니다. 예를 들어 Microsoft.VSTS.TCM.SystemInfo 필드가 해당 필드가 4개 프로젝트 Arroyo, Desert, Palm 및 Springs의 Bug 및 Code Defect 작업 항목 형식에서 사용되고 있음을 나타냅니다.

    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
    

    이 필드를 삭제하기 전에 먼저 해당 필드가 정의된 각 팀 프로젝트에 대해 나열된 각 작업 항목 형식에서 해당 필드를 제거해야 합니다. 필드를 제거하려면 필드 참조 이름이 포함된 FIELD 및 Control 요소를 삭제하여 작업 항목 형식에 대한 정의를 수정합니다. See 작업 항목 형식 가져오기, 내보내기 및 관리[witadmin], FIELD(정의) 요소 참조Control XML 요소 참조을 참조하십시오.

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

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

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

    명령 프롬프트에서 y를 입력하여 이 단계를 완료합니다.

Q & A

Q: TFS 업그레이드 후에 어떤 사용자 지정을 수행할 수 있으며 기능 구성 마법사를 계속 사용하여 팀 프로젝트를 업데이트할 수 있나요?

A: 사용자 지정 필드를 추가하고, 선택 목록을 사용자 지정하며, 필드에 규칙을 추가할 수 있습니다. 기능 구성 마법사에서는 팀 프로젝트를 업데이트하며, 그러면 최신 기능에 액세스할 수 있게 됩니다.

필드 특성은 변경하지 않는 것이 좋습니다. 수행해도 안전한 사용자 지정 작업과 수행하지 않아야 하는 작업에 대한 자세한 내용은 작업 추적 환경 사용자 지정: 사용자 지정 전에 유지 관리 및 업그레이드의 영향 파악을 참조하세요.

참고 항목

개념

데이터 웨어하우스에서 발생하는 스키마 충돌 해결

보고를 지원하도록 작업 항목 필드 추가 또는 수정

Visual Studio ALM의 작업 항목 필드 참조

Visual Studio ALM에 대한 보고 가능 필드 참조

기타 리소스

witAdmin: 작업 추적을 위한 개체 사용자 지정 및 관리