为 TFS 布尔字段指定建议值

Specifying suggested values for a TFS Boolean Field

我们在开发过程中使用了一组高度自定义的 TFS WorkItem 类型。

一个这样的类型有一个布尔字段,但是当我们设置这个字段时你必须输入 "True" 或 "False",这很令人沮丧,我宁愿有一个复选框或一组我们可以从中选择的建议值。这是字段 xml:

<FieldDefinition name="My Field" refname="My.BooleanField" type="Boolean">
  <SUGGESTEDVALUES expanditems="true">
    <LISTITEM value="True" />
    <LISTITEM value="False" />
  </SUGGESTEDVALUES>
</FieldDefinition>

然而这不起作用。

我希望我可以将控件从 FieldControl 更改为更加用户友好的控件(就像您可以使用 DateTimes 一样)但是我还是没有成功。

有没有一种方法可以在不需要用户键入 "True" 或 "False" 的 TFS WorkItemType 上创建布尔字段,或者我是否必须将其设置为字符串以使用建议值?

您可以将 <SUGGESTEDVALUES> 更改为 <ALLOWEDVALUES>。这告诉 FieldControl 呈现一个下拉框:

 <ALLOWEDVALUES>
      <LISTITEM value="true" />
      <LISTITEM value="false" />
 </ALLOWEDVALUES>

这应该会让您的生活更轻松。类型 Boolean 不是可用的字段类型,因此您必须使用 string 作为基础数据类型。 Check the field definition:

type="String | Integer | Double | DateTime | PlainText | HTML | History | TreePath | GUID" 

所以你最终会得到:

<FieldDefinition name="My Field" refname="My.BooleanField" type="String">
  <ALLOWEDVALUES>
      <LISTITEM value="true" />
      <LISTITEM value="false" />
 </ALLOWEDVALUES>
</FieldDefinition>

复选框控件目前只能通过将自定义控件部署到所有用户的计算机上来使用。对此功能有很多需求,我希望 Microsoft 将来以 Visual Studio Team Services 上可用的新流程自定义功能的形式支持它。

只用了 5 年时间和 3 个主要的 TFS 版本,但 Checkbox 控件终于成为可用字段类型的一部分!

使用 TFS 2015.2,您将能够为字段选择布尔类型。

documentation does not include the change as of July '16 but this blog post 确认。

请注意,此字段类型不支持某些重要规则,例如 "MATCH"、"ALLOWEDVALUES" 和 "PROHIBITEDVALUES"。