連結類型項目參考
連結類型用來定義連結標籤、拓撲類型,以及建構工作項目之間的連結時使用的限制。 例如,父子式連結類型會定義兩個標籤 (「父代」和「子系」)、支援階層拓撲或樹狀拓撲,以及防止在工作項目之間建立循環參考。
若要自訂或建立連結類型,您必須將 XML 檔匯入至包含連結類型定義的 Team 專案集合中。 連結類型會加入至針對集合所定義的一組連結類型中。 根據您所指定的參考名稱,現有的連結類型會以新的資訊覆寫。
本主題內容
語法結構
連結類型的需求
系統定義的連結類型
MSF 流程範本所定義的連結類型
連結限制和拓撲
連結類型結構描述定義
語法結構
您可以在針對 Team 專案集合所定義的連結類型中加入其他連結類型,以定義更多連結類型。 您可以根據連結類型定義結構描述所提供的結構,定義用於流程的有效連結類型。 連結類型是透過下列 XML 語法定義於連結類型 XML 檔中:
<LinkTypes>
<LinkType ReferenceName="LinkTypeName" ForwardName="ForwardName" ReverseName="ReverseName" Topology="TopologyType" />
</LinkTypes>
下表為上述語法的說明:
屬性 |
描述 |
---|---|
ReferenceName |
連結類型的名稱。 這是您在兩個工作項目之間建立連結時,在內部使用的名稱。 |
ForwardName |
來源工作項目的連結名稱。 這是您將連結加入至來源工作項目時顯示的名稱。 |
ReverseName |
目標工作項目的連結名稱。 這是出現目標工作項目的連結清單時顯示的名稱。 |
TopologyType |
指定 DirectedNetwork、Network、Tree 或 Dependency 拓撲。 前三個拓撲具有方向性,您可以用它們來定義從屬或循序關聯性。 您可以使用 Network,在對等項目之間或沒有隱含式從屬的情況下定義關聯性。 |
連結方向性取決於 ForwardName 和 ReverseName 屬性的指定值。 如果您建立自訂連結,並為正向名稱和反向名稱指派相同的名稱,則應將連結類型設為 Network,因為這是唯一的非方向性拓撲。
連結類型的需求
LINKTYPES 是一組由 Team 專案集合儲存和使用的 LINKTYPE 項目。
每個連結類型都有一個參考名稱和兩個選用的易記名稱 (或名稱標籤),這些名稱在專案集合內必須是唯一的。 每個連結名稱都必須符合下列需求:
名稱可以多達 254 個 Unicode 字元
名稱不得為空白。
名稱的開頭與結尾不可以有空格。
名稱不可包含反斜線 (\) 字元。
名稱不可包含兩個連續的空白字元。
系統定義的連結類型
下表摘要列出系統定義的連結類型。 這些連結類型不應以任何方式覆寫或修改。
正向名稱 |
反向名稱 |
連結類型參考名稱 |
拓撲 |
---|---|---|---|
後置項 |
前置項 |
System.LinkTypes.Dependency |
相依性 |
子系 |
Parent |
System.LinkTypes.Hierarchy |
Tree |
相關的 |
相關的 |
System.LinkTypes.Related |
網路 |
此外, Storyboard 連結類型連結工作項目到腳本或位於網路共用上的任何檔案。 如需詳細資訊,請參閱LinksControlOptions 項目。
MSF 流程範本所定義的連結類型
下表列出您使用 Microsoft Solutions Framework (MSF) 流程範本建立 Team 專案時所建立的連結類型。 這些連結類型是為了支援在 Team Foundation 和 Microsoft Test Manager 中與追蹤工作項目互動所特別設計的。
正向名稱 |
反向名稱 |
連結類型參考名稱 |
拓撲 |
---|---|---|---|
測試者 |
測試 |
Microsoft.VSTS.Common.TestedBy |
相依性 |
測試案例 |
共用步驟 |
Microsoft.VSTS.TestCase.SharedStepReferencedBy |
相依性 |
當您使用 MSF 流程範本建立 Team 專案時,本主題先前所列的每個連結類型都會加入至 Team 專案集合中。 連結類型定義檔定義於 Template.zip 檔的 WorkItem Tracking\LinkTypes 資料夾中。 Microsoft.VSTS.Common.TestedBy 連結類型的下列定義則定義於 TestedBy.xml 檔中:
<?xml version="1.0" encoding="utf-8"?>
<LinkTypes>
<LinkType ReferenceName="Microsoft.VSTS.Common.TestedBy" ForwardName="Tested By" ReverseName="Tests" Topology="Dependency" />
</LinkTypes>
當您使用對應的流程範本建立 Team 專案時,連結類型定義便會匯入至專案集合中。
連結限制和拓撲
指派給連結類型的拓撲,會決定加諸於該連結類型的使用限制。 在下表中,您可以檢視不同的拓撲類型:
拓撲類型 |
示意圖 |
---|---|
網路:您可以使用網路連結,在不受約束的工作項目之間建立基本關聯性。 兩個端點上的連結都是相同的。 允許循環關聯性。 使用方式範例:您可以使用網路連結 (例如 [相關的]),記錄兩項可能共用相依性的功能之間的關聯性。 |
|
定向網路:您可以使用定向網路連結,在指出方向性的工作項目之間建立關聯性。 在結束點的連結名稱不同。 允許循環關聯性。 使用方式範例:您可以使用定向網路連結,為兩項可能共用相依性、而您希望以某種方式加以區分的功能,記錄彼此之間的關聯性。 |
|
相依性:您可以使用相依性連結,在具有方向性的工作項目之間建立關聯性,並且禁止循環關聯性。 在結束點的連結名稱不同。 在插圖中,您無法在對相同工作項目具有相依連結關聯性的工作項目之間建立相依連結。 使用方式範例:您可以使用相依性連結,記錄必須完成以提供使用者需求的功能。 |
|
樹狀結構:您可以使用樹狀連結,在工作項目之間建立多層級階層關聯性。 樹狀連結支援多層級階層檢視、具有方向性,並且禁止循環關聯性。 在結束點的連結名稱不同。 樹狀連結是 [工作項目的樹狀目錄] 查詢唯一支援的連結類型。 在插圖中,您無法對一個子系指派兩個父代。 使用方式範例:您可以使用樹狀連結,記錄您的小組若要提供某項功能,必須完成的工作和子工作。 |
連結類型結構描述定義
下列程式碼列出連結類型的結構描述定義:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
id="WorkItemLinkTypeDefinition"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/WorkItemLinkTypeDefinition.xsd"
xmlns="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/WorkItemLinkTypeDefinition.xsd"
xmlns:mstns="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/WorkItemLinkTypeDefinition.xsd"
xmlns:typelib="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/typelib"
version="1.0">
<xs:import namespace="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/typelib"/>
<xs:simpleType name="TopologyTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="Network" />
<xs:enumeration value="DirectedNetwork" />
<xs:enumeration value="Dependency" />
<xs:enumeration value="Tree" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="LinkTypeType">
<xs:attribute name="ReferenceName" type="typelib:ReferenceName" use="required" />
<xs:attribute name="Topology" type="TopologyTypes" use="optional" />
<xs:attribute name="ForwardName" type="typelib:FriendlyName" use="optional" />
<xs:attribute name="ReverseName" type="typelib:FriendlyName" use="optional" />
</xs:complexType>
<xs:complexType name="LinkTypesType">
<xs:sequence>
<xs:element name="LinkType" type="LinkTypeType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:element name="LinkTypes" type="LinkTypesType" />
</xs:schema>