我正在尝试编辑工作项模板以使用TFS 2017中的新布尔字段,并希望在更改状态之前将特定字段设置为true。有没有办法做到这一点?似乎不支持ALLOWEDVALUES和MATCH,这可能有帮助
答案 0 :(得分:0)
您可以根据您的要求应用条件规则,就像上面提到的Hamid一样。
Boolean
只是一种数据类型,我们可以添加自定义布尔字段并为其添加一个复选框。
使用以下语法在FIELDS中添加布尔字段 WIT定义的一部分。
<FIELD name="Triagelc" refname="lc.Triage" type="Boolean" >
<DEFAULT from="value" value="True" />
<HELPTEXT>Triage work item</HELPTEXT>
</FIELD>
然后在FORM部分中添加以下语法 该字段显示在表单上。
<Control Label="Triagelc" Type="FieldControl" FieldName="lc.Triage" />
该字段将在表单上显示为复选框。
然后对目标字段应用When
规则,因此在指定时
布尔字段具有指定值,应用When
规则
目标领域。
申请&#34;何时&#34;任务工作项类型中的Description
字段规则:
<FieldDefinition name="Description" refname="System.Description" type="HTML">
<WHEN field="lc.Triage" value="True">
<REQUIRED />
</WHEN>
</FieldDefinition>
然后,当将值设置为 True 时,描述区域为必需,它不能为空。
您还可以使用 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>
因此,当布尔字段值为 True 时,Assigned To
字段为只读,否则您可以分配给现有用户。
<强>更新强>
我们无法直接使用布尔数据类型实现这一点。作为一种解决方法,您可以尝试以下方式:
应用When
规则并嵌入Copy
规则(复制True
作为
价值)对于&#34; Triagelc&#34;此示例中的boolean字段。因此当
状态为完成, Triagelc 可以将值设置为&#34; True&#34;
自动,然后保存。但这样的价值仍然可以
修改为假。以下参考截图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>
为布尔字段设置默认值 True ( Triagelc
此示例中的字段),然后将When
规则应用于READONLY
规则
嵌入式。这种方式应该符合您的要求(一旦完成,价值就不能再改变了)。参考下面的截图2:
<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支持布尔数据类型字段 和更高版本。