共用方式為


TRANSITION XML 項目

您可以使用 TRANSITION 項目,針對某個工作項目類型,指定有效的進展,或從某個狀態回復到另一個。 TRANSITION 項目是 TRANSITIONS 項目的必要子項目。

若要修改工作流程,您可以修改工作項目類型的定義。 請參閱 修改或加入自訂工作項目類型 (WIT)

結構描述階層架構

WITD

    WORKITEMTYPE

        WORKFLOW

            TRANSITIONS

                TRANSITION

<TRANSITION from="NameOfStartingState" to="NameOfEndingState" for="UserGroupName" not="UserGroupName">     <ACTIONS> . . . </ACTIONS>     <REASONS> . . . </REASONS>     <FIELDS> . . . </FIELDS> </TRANSITION>

屬性和項目

下列章節說明屬性、子項目和父項目。

屬性

屬性

描述

from

必要項。 正在轉換的工作項目的狀態名稱。

to

必要項。 工作項目正在轉換的狀態名稱。

for

Transition 屬性。

選擇項。 可以執行轉換的使用者或群組名稱。

not

Transition 屬性。

選擇項。 限制執行轉換的使用者或群組名稱。

子項目

項目

描述

ACTIONS

選擇項。 定義 ACTION 的集合,其中每個會定義可以在呼叫 WorkItem.GetNextState 方法來取得工作項目的後續動作狀態時使用的動作字串。

REASONS

必要項。 DEFAULTREASON 和 REASON 的項目集合,定義工作項目可以完成轉換的有效理由。

FIELDS (工作流程)

選擇項。 FIELD (工作流程) 項目的集合,其參考針對工作項目類型所定義的欄位定義。

父項目

項目

描述

TRANSITIONS

必要項。 TRANSITION 的集合,其定義工作項目類型的有效狀態轉換。

備註

TRANSITION 是 TRANSITIONS 的必要子項目。

您必須定義剛好一個轉換,將工作項目從無 (from="") 移至具名的狀態,例如「作用中」。 這項轉換會識別新工作項目的預設狀態。

minOccurs="1"

maxOccurs="unbounded"

必須指定兩個狀態之間所有有效的轉換。 如果沒有指定任何轉換,則預設會不允許轉換。

此外,您可以選擇性地在工作流程的轉換項目中使用屬性 for 和 not,來縮小對象範圍,以及誰無法執行轉換。 這樣做時,請使 denies 的優先順序高於 allows。 如果兩個屬性都未指定,則任何人都可以修改工作項目。

只有建立父群組並在 TRANSITION 項目中指定該父群組,才支援多個群組。 若要深入了解 for 和 not 屬性,請參閱將規則套用至工作項目欄位

範例

在下列範例中,會定義從作用中已解決工作流程狀態的轉換原因。

<TRANSITION from="Active" to="Resolved">
   . . .
   <REASONS>
      <DEFAULTREASON value="Fixed"/>
      <REASON value="Deferred"/>
      <REASON value="Duplicate"/>
      <REASON value="As Designed"/>
      <REASON value="Unable to Reproduce"/>
      <REASON value="Obsolete"/>
   </REASONS>
   . . .
</TRANSITION>

下列規則中,將工作項目從已解決轉換到已完成狀態的能力,會限定在除了剛加入小組的新測試人員之外的所有專案測試人員。

<TRANSITION from="Resolved" to="Complete" for="[project]\AllTesters" not="[project]\NewTesters">
</TRANSITION>

請參閱

概念

變更工作項目類型的工作流程