선택 목록 정의
정의하는 과정에서 또는 워크플로 중 특정 시점에서 선택 목록을 정의함으로써 필드에 대한 값 집합을 열거할 수 있습니다. 허용된 값만 포함할 수 있도록, 금지된 값을 포함할 수 없도록 또는 값을 제안할 수 있도록 목록을 지정할 수 있습니다. 값을 제안하는 경우에는 사용자가 선택 목록에서 그 외 값을 지정할 수 있습니다.
필드에 대해 두 개 이상의 목록을 정의하지만 조건부 규칙의 평가에 따라 런타임에 한 목록만 나타나는 종속적 선택 목록을 정의할 수도 있습니다.
항목 내용
구문 구조
GLOBALLIST 및 LISTITEM 요소의 구문 구조
기존 값 허용
허용된 값 집합 지정
종속적 선택 목록 정의
참고
FIELD 정의에 대한 선택 목록을 추가하거나 수정하려면 witadmin 명령줄 도구를 사용하여 작업 항목 유형의 정의를 가져오거나 내보냅니다.작업 항목 형식 가져오기, 내보내기 및 관리[witadmin]을 참조하세요.
구문 구조
ALLOWEDVALUES, SUGGESTEDVALUES 및 PROHIBITEDVALUES 요소를 사용하여 사용자가 필드의 값으로 지정해야 하는 값, 지정할 수 있는 값 또는 지정해서는 안 되는 값의 목록을 지정할 수 있습니다. 이러한 각각의 요소를 사용하는 경우 항목 목록을 열거하거나 전역 목록을 지정할 수 있습니다. ALLOWEXISTINGVALUE를 사용하여 선택 목록에서 항목이 제거될 경우 필드가 기존 값을 저장하도록 할 수 있습니다.
이 요소를 FIELD(정의) 또는 FIELD(워크플로) 요소의 자식 요소로 지정할 수 있습니다.
ALLOWEDVALUES를 사용하여 작업 항목 폼 또는 쿼리 편집기에서 사용자가 지정할 수 있는 값 목록을 정의합니다. 사용자는 GLOBALLIST 또는 LISTITEM 항목 집합에 있는 값 중 하나를 지정해야 합니다.
<ALLOWEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups"> <GLOBALLIST name="globalListName" /> <LISTITEM value="Name1" /> <LISTITEM value="Name2" /> <LISTITEM value="Name3" /> . . . </ALLOWEDVALUES>
PROHIBITEDVALUES를 사용하여 필드에 포함될 수 없는 값 목록을 정의합니다. 사용자는 필드에 금지된 값이 포함된 경우 작업 항목을 저장할 수 없습니다. 이전에는 허용되었지만 더 이상 유효하지 않은 값을 사용하지 못하도록 제한하려는 경우에 이 요소를 사용합니다.
<PROHIBITEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups"> <GLOBALLIST name="globalListName" /> <LISTITEM value="Name1" /> <LISTITEM value="Name2" /> <LISTITEM value="Name3" /> . . . </PROHIBITEDVALUES>
SUGGESTEDVALUES를 사용하여 필드에 포함될 수 있는 값 목록을 정의합니다. 사용자는 제안된 값 외의 다른 값을 지정할 수 있습니다.
<SUGGESTEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups"> <GLOBALLIST name="globalListName" /> <LISTITEM value="Name1" /> <LISTITEM value="Name2" /> <LISTITEM value="Name3" /> . . . </SUGGESTEDVALUES>
이러한 각각의 요소에 대해 다음 표에서 설명하는 특성을 하나 이상 지정할 수 있습니다.
특성 |
설명 |
---|---|
for |
선택 사항입니다. Team Foundation에서 규칙이 적용되는 사용자 또는 그룹의 이름을 지정합니다. 유효한 이름은 1~255자의 텍스트 문자열로 구성됩니다. 패턴 값: ^[^\\]+\\[^\\]+$ 패턴 값 예: Domain\UserID |
not |
선택 사항입니다. Team Foundation에서 규칙이 적용되지 않는 사용자 또는 그룹의 이름을 지정합니다. 유효한 이름은 1~255자의 텍스트 문자열로 구성됩니다. 패턴 값: ^[^\\]+\\[^\\]+$ 패턴 값 예: Domain\UserID |
expanditems |
선택 사항입니다. LISTITEM 요소에서 식별된 그룹을 목록에 하위 그룹을 포함하도록 확장해야 하는지 여부를 지정합니다. 기본값은 true입니다. |
filteritems |
선택 사항입니다. 그룹의 멤버만 목록에 포함되고 그룹 이름은 포함되지 않도록 지정합니다. 이 특성의 유일한 유효 값은 excludegroups입니다. |
자세한 내용은 목록 항목 확장 및 목록에서 그룹 제외을 참조하십시오.
GLOBALLIST 및 LISTITEM 요소의 구문 구조
GLOBALLIST 및 LISTITEM 요소를 사용하여 전역적으로 업데이트할 수 있는 항목 또는 단일 필드에 관련된 항목의 목록을 열거할 수 있습니다.
GLOBALLIST를 사용하여 팀 프로젝트 컬렉션에 대해 저장되며 해당 컬렉션의 모든 팀 프로젝트에서 사용할 수 있는 LISTITEM 요소 집합을 정의합니다. GLOBALLIST는 GLOBALLISTS 요소의 필수 자식 요소이자 ALLOWEDVALUES, SUGGESTEDVALUES 및 PROHIBITEDVALUES 요소의 선택적 자식 요소입니다. 작업 항목 정의, 전역 목록 정의 또는 전역 워크플로 내에서 전역 목록을 정의할 수 있습니다.
<GLOBALLIST name="globalListName"> <LISTITEM value="Name1" /> <LISTITEM value="Name2" /> <LISTITEM value="Name3" /> . . . </GLOBALLIST>
globalListName: 1~255자 사이의 텍스트 문자열입니다.
중요
작업 항목의 유형을 정의하는 XML 파일에서 전역 목록을 정의하는 경우에는 목록에 고유한 이름을 부여해야 합니다.아니면 컬렉션에 대해 정의된 기존 목록을 덮어쓸 수도 있습니다.
LISTITEM을 사용하여 값 집합을 열거합니다. LISTITEM은 GLOBALLIST 요소의 필수 자식 요소이자 ALLOWEDVALUES, SUGGESTEDVALUES 및 PROHIBITEDVALUES 요소의 선택적 자식 요소입니다.
<LISTITEM value="listName" />
listName: 1~255자 사이의 텍스트 문자열입니다.
기존 값 허용
ALLOWEDVALUES 요소를 사용하여 항목의 선택 목록을 지정한 후에 ALLOWEXISTINGVALUE 요소를 사용하여 필드가 기존 값을 유지하도록 할 수 있습니다. ALLOWEXISTINGVALUE 요소를 지정하지 않으면 편집 시에 사용자가 해당 필드에 대해 현재의 유효 값 중 하나를 반드시 지정해야 합니다. ALLOWEXISTINGVALUE 요소는 같은 블록에 있는 이러한 요소만 수정합니다.
<ALLOWEXISTINGVALUE />
FIELD(워크플로) 요소 아래에서 이 요소를 지정하여 필드에 대해 정의된 규칙에 적용합니다. 여기에는 필드의 STATE, TRANSITION, DEFAULTREASON 및 REASON 요소가 지정하는 규칙이 포함됩니다. STATE 요소 아래에서 이 요소를 지정하여 이 상태의 필드에 정의된 규칙뿐만 아니라 이 상태로 전환되는 모든 필드에 대해 정의된 규칙에도 적용합니다.
TRANSITION 요소 아래에서 이 요소를 지정하여 필드 전환에 정의된 규칙뿐만 아니라 REASON 및 DEFAULTREASON 요소에 있는 필드에 대해 정의된 규칙에도 적용합니다.
목록 지정
필드 목록은 개별 목록 항목으로 구성됩니다. 각 필드 목록은 최소한 하나 이상의 항목을 포함해야 합니다.
참고
전역 목록은 프로젝트 범위로 지정되지 않으므로 프로젝트 범위 그룹을 포함해서는 안 됩니다.
필드 목록에서 항목을 지정하려면 <LISTITEM value=""> 요소를 사용합니다. 문자열, 사용자 이름 또는 그룹 이름을 지정할 수 있습니다.
<LISTITEM value="Emergency"/>
<LISTITEM value="Major"/>
<LISTITEM value="Minor"/>
<LISTITEM value="Domain\joe"/>
<LISTITEM value="[Global]\GlobalGroup" />
<LISTITEM value="[Project]\ProjectGroup" />
참고
런타임에 목록 내의 항목이 Visual Studio Team Foundation Server를 실행하는 서버의 언어에 대해 사전순으로 나타납니다.
허용된 값 집합 지정
이 예에서 Customer Severity 필드에는 Emergency, Major, Minor의 세 가지 값 중 하나가 있을 수 있습니다. 필드는 필요에 따라 정의되며 기본값은 Minor입니다. 런타임에 사용자가 드롭다운 목록에서 이 값 중에서 하나를 지정할 수 있습니다.
<FIELD refname="System.Title" name="Title" type="String">
<HELPTEXT>Provide a brief description of the work item</HELPTEXT>
<REQUIRED/>
</FIELD>
<FIELD refname="MyCorp.CusSeverity" name="Customer Severity" type="String">
<HELPTEXT>Indicate the severity of the problem</HELPTEXT>
<ALLOWEDVALUES>
<LISTITEM value="Emergency">
<LISTITEM value="Major">
<LISTITEM value="Minor">
</ALLOWEDVALUES>
<DEFAULT from="value" value="Minor"/>
</FIELD>
종속적 선택 목록 정의
부모 조건절이 true인 경우에만 활성화되는 선택 목록을 정의할 수 있습니다. 다음 예에서는 My Field에 대해 두 개의 선택 목록 집합이 정의됩니다. 런타임에 Requirements가 MyCompany.MyTeam.Discipline 필드에 할당되었는지 여부에 따라 한 목록만 나타납니다.
참고
이 예에 있는 WHEN 및 WHENNOT 규칙은 다른 규칙에도 적용되어 해당 규칙의 평가 시점을 지정할 수도 있습니다.자세한 내용은 조건부 기준 값 및 규칙 할당을 참조하십시오.
<FIELD name="My Field" refname="MyCompany.MyProcess.MyField" type="String" reportable="dimension">
<WHEN field="MyCompany.MyTeam.Discipline" value="Requirements">
<ALLOWEDVALUES>
<LISTITEM value="Planning" />
<LISTITEM value="Review" />
</ALLOWEDVALUES>
</WHEN>
<WHENNOT field=" MyCompany.MyTeam.Discipline" value="Requirements">
<ALLOWEDVALUES>
<LISTITEM value="Process Management" />
<LISTITEM value="Planning" />
<LISTITEM value="Review" />
</ALLOWEDVALUES>
</WHENNOT>
</FIELD>