2010-10-01 34 views
1

有没有可能将文本添加到优先级? “1 - Blocker”,“2 - Critical”,“3 - High”等值将会很好。TFS:如何为优先级添加“文本名称”

尝试更改“Priority”字段的“ALLOWEDVALUES”(refname =“ Microsoft.VSTS.Common.Priority“)类似于

<ALLOWEDVALUES> 
     <LISTITEM value="1 - Blocker" /> 
     <LISTITEM value="2 - Critical" /> 
     <LISTITEM value="3 - High" /> 
     <LISTITEM value="4..." /> 
     <LISTITEM value="5..." /> 
     <LISTITEM value="6..." /> 
    </ALLOWEDVALUES> 

给出一个错误,该字段应该是整数。

我看到几个选项: 1.将字段类型更改为字符串 2.使用“字符串”类型创建单独的自定义字段“MyPriority”。

能否请您提供什么是最佳选择(从长期使用的角度来看)?

非常感谢!

回答

4

您无法更改现有字段的类型。我过去所做的是在表单上添加一个新的字段。然后一些逻辑添加到外地去复制

以下文本添加到Fields部分

<FIELD name="My Priority" refname="My.Priority" type="String" reportable="dimension"> 
    <REQUIRED /> 
    <ALLOWEDVALUES> 
     <LISTITEM value="1 - Blocker" /> 
     <LISTITEM value="2 - Critical" /> 
     <LISTITEM value="3 - High" /> 
     <LISTITEM value="4..." /> 
     <LISTITEM value="5..." /> 
     <LISTITEM value="6..." /> 
    </ALLOWEDVALUES> 
    <DEFAULT from="value" value="3 - High" /> 
    </FIELD> 

,默认优先级字段更改为

<FIELD name="Priority" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension"> 
    <REQUIRED /> 
    <ALLOWEDVALUES> 
     <LISTITEM value="1" /> 
     <LISTITEM value="2" /> 
     <LISTITEM value="3" /> 
     <LISTITEM value="4" /> 
    </ALLOWEDVALUES> 
    <DEFAULT from="value" value="2" /> 
    <WHEN field="My.Priority" value="1 - Blocker"> 
     <COPY from="value" value="1" /> 
    </WHEN> 
    <WHEN field="My.Priority" value="2 - Critical"> 
     <COPY from="value" value="2" /> 
    </WHEN> 
    <WHEN field="My.Priority" value="3 - High"> 
     <COPY from="value" value="3" /> 
    </WHEN> 
    <WHEN field="My.Priority" value="4..."> 
     <COPY from="value" value="4" /> 
    </WHEN> 
    </FIELD> 

找到优先在窗体部分和将其更改为使用My.Priority:

<Control Type="FieldControl" FieldName="My.Priority" Label="Pri&amp;ority:" LabelPosition="Left" /> 
1

我不认为你可以改变现有字段的类型。所以第二个选项是唯一的选择。在我的公司,我广泛地定制了工作项目类型,并使用了不少自定义字段。它运作良好。话虽如此,您需要使用现有的优先级数据加载新的字段(如果有的话)。

一个简单的存储过程可以将数据从Microsoft.VSTS.Common.Priority字段复制到“新的自定义字段”中来完成这项工作。 WorkItemsLatestUsed表应该是为此目的而触及的唯一表格。