2017-10-24 2 views
0

작업 항목 템플릿을 편집하여 TFS 2017의 새 부울 필드를 사용하고 상태를 변경하기 전에 특정 필드를 true로 설정하려고합니다. 이 일을 할 수있는 방법이 있습니까? ALLOWEDVALUES와 MATCH는 지원되지 않을 수 있으므로 잠재적으로 도움이 될 수 있습니다.TFS 2017 부울 필드 유효성 검사

+0

난 당신이 팀 TFS 2017 년 구축이 아닌 XAML 빌드에 대해 얘기하는 가정? 이 문제를 해결 한 방법은 입력 필드의 유효성을 검사하는 인라인 Powershell 작업을 사용하는 것입니다. –

+0

작업 항목 템플릿 필드에 대해 이야기하고 있습니다. 미안합니다. 그게 명확하게 편집 할께 –

+0

알았어!. 원하는 것을 할 수있는 유일한 방법은 조건부 규칙을 만드는 것입니다. 조건부 규칙을 확인하십시오. https://docs.microsoft.com/en-us/vsts/work/customize/reference/assign-conditional-based-values-and-rules –

답변

0

위의 Hamid와 마찬가지로 요구 사항에 따라 조건부 규칙을 적용하여이를 수행 할 수 있습니다.

Boolean은 데이터 유형일 뿐이며 사용자 정의 부울 필드을 추가하고 이에 대한 확인란을 추가 할 수 있습니다.

  1. 은 WIT 정의의 FIELDS 섹션에서 부울 필드를 추가하려면 다음 구문을 사용합니다.

    <FIELD name="Triagelc" refname="lc.Triage" type="Boolean" > <DEFAULT from="value" value="True" /> <HELPTEXT>Triage work item</HELPTEXT> </FIELD>

  2. 는 그리고 필드가 양식에 표시 을 위해 FORM 섹션 내에서 다음 구문을 추가합니다.

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

    필드는 폼의 체크 박스로 표시됩니다. 지정된 부울 필드의 규칙 When 대상 필드에 적용되는 특정 값을 갖는 경우

  3. 그때 따라서, 대상 출원 When위한 규칙을 적용한다.

EG1 :

적용은 "때"규칙 작업 작업 항목 유형에 Description 필드 : 진정한에 값을 설정 그리고

<FieldDefinition name="Description" refname="System.Description" type="HTML"> 
    <WHEN field="lc.Triage" value="True"> 
    <REQUIRED /> 
    </WHEN> 
</FieldDefinition> 

는 설명 영역 입니다이 필요합니다. 비워 둘 수 없습니다.

는 EG2 :

또한 다른 지역 제한 READONLY에게 규칙을 사용할 수 있습니다 부울 필드 값이 진정한 경우에 따라서

<FieldDefinition name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension"> 
    <WHEN field="lc.Triage" value="True"> 
    <READONLY /> 
    </WHEN> 
    <ALLOWEXISTINGVALUE /> 
    <HELPTEXT>The person currently owning this task</HELPTEXT> 
</FieldDefinition> 

을, Assigned To 필드는 만 그렇지 않으면 읽기 기존 사용자에게 할당 할 수 있습니다.


UPDATE :

EG3 :

우리는 부울 데이터 유형과 직접 그것을 달성 할 수 없다.해결 방법으로는 방법을 아래에 시도 할 수 있습니다 :

  • 이 예에서 "Triagelc"부울 필드합니다 ( 값으로 복사 True)을 Copy 규칙을 When 규칙을 적용하고 포함. 따라서 상태가 완료되면 Triagelc은 "True"값을 자동으로 으로 설정하고 저장합니다. 그러나이 방법으로 값은 여전히 ​​ 을 false로 수정할 수 있습니다. 스크린 샷 1 아래 참조 :

    <FieldDefinition name="Triagelc" refname="lc.Triage" type="Boolean"> <WHEN field="System.State" value="Done"> <COPY from="value" value="True" /> </WHEN> <HELPTEXT>Triage work item</HELPTEXT> </FieldDefinition>

  • 설정 기본값 부울 필드 (이 예에서는 Triagelc 필드)에 대한 진정한 에, 다음 내장 READONLY 규칙 와 When 규칙을 적용합니다. 이 방법은 귀하의 요구 사항을 충족해야합니다 (한번 완료되면 값을 더 이상 변경할 수 없음). 스크린 샷이 아래 참조 :

    <FieldDefinition name="Triagelc" refname="lc.Triage" type="Boolean"> <DEFAULT from="value" value="True" /> <WHEN field="System.State" value="Done"> <READONLY /> </WHEN> <HELPTEXT>Triage work item</HELPTEXT> </FieldDefinition>

는 점에 유의하시기 바랍니다 :

부울 데이터 형식의 필드는 VSTS 지원 및 TFS 2017.2 이상 버전입니다.

스크린 샷 1 : enter image description here

스크린 샷 2 : enter image description here

+0

내 문제는 약간 다릅니다. 내 문제는 부울 필드가 참일 때 다른 필드가 필요하지만 상태가 변경되기 전에 부울 필드가 참이어야합니다. –

+0

@StevenBrookes @StevenBrookes 나 혼란 스럽습니까? 위의 답변에서 언급 한 예 2와 비슷합니까? 예제를 보여 주시겠습니까? –

+0

예제 2에서는 Triagelc가 true 일 때 설명을 읽기 전용으로 설정합니다. 상태가 완료되면 Triagelc가 거짓이 될 수 없도록하기를 원합니다. –