共用方式為


所有 WORKFLOW XML 項目參考

您可以使用本主題中的資訊,快速參考所有用於控制工作項目類型工作流程的項目和主要屬性。 這些項目都是在 WORKFLOW 項目容器中指定,這是工作項目類型定義的第二個主要區段。 您可以使用 STATESTRANSITIONS 子項目,定義使用者可針對工作項目類型指定的不同狀態,以及允許的狀態間轉換。 如需如何定義這些項目的詳細資訊,請參閱變更工作項目類型的工作流程

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

WORKFLOW 範例

下列範例會示範 WORKFLOW 項目的整體結構。 首先在 STATES 容器內指定使用者可指派給工作項目類型的所有狀態。 接著指定允許從某個狀態到另一個狀態的所有轉換。 每個狀態對應至一個 STATE 項目,而每個轉換對應至一個 TRANSITION 項目。 在每個 STATESTRANSITIONS 容器項目內,您可以視需要依任何順序定義狀態和轉換。

對於每個轉換,指定一組變更工作項目狀態的原因,包括預設原因。 您可以針對每個狀態、轉換或原因指派值,也可以使用 FIELD (工作流程) 項目對一個或多個欄位的值設定條件。 此外,您可以指定 ACTION 項目,在轉換期間觸發動作。

<WORKFLOW>
<STATES>
  <STATE value="Active">
    <FIELDS> . . . </FIELDS>
  </STATE>
  <STATE value="Resolved">
    <FIELDS> . . . </FIELDS>
  </STATE>
  <STATE value="Closed" />
</STATES>
<TRANSITIONS>
  <TRANSITION from="" to="Active">
    <REASONS>
      <DEFAULTREASON value="New" />
    </REASONS>
    <FIELDS> . . . </FIELDS>
  </TRANSITION>
  <TRANSITION from="Active" to="Resolved">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
    <ACTIONS > . . . </ACTIONS >
</TRANSITION>
<TRANSITION from="Resolved" to="Closed">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
    <ACTIONS > . . . </ACTIONS >
</TRANSITION>
<TRANSITION from="Resolved" to="Active">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Closed ">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>
<TRANSITION from="Closed" to="Active">
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>

語法結構

您可以使用下表所述的項目,來指定小組成員可將特定類型的工作項目設定成哪些狀態。 在定義的 WORKFLOW 區段中,先定義狀態,然後再定義轉換。 如需詳細資訊,請參閱變更工作項目類型的工作流程

項目

描述及語法

是否為必要項?

ACTION

定義文字字串,其對應至用於追蹤工作項目的系統呼叫 WorkItem.GetNextState 方法以取得工作項目之動作後狀態時,所要執行的動作。

<ACTION value="NameOfAction" />

如需詳細資訊,請參閱根據狀態、轉換或原因自動化欄位指派

Optional

ACTIONS

定義 ACTION 項目的集合。

<ACTIONS>
   <ACTION>. . . </ACTION>
</ACTIONS>

Optional

DEFAULTREASON

定義小組成員將工作項目從某個狀態變更為另一個狀態的最常見原因。

<DEFAULTREASON value="ValueOfDefaultReason">
   <FIELDS>. . . </FIELDS>
</DEFAULTREASON>

必要項

FIELD

指定工作項目類型的欄位,以及指定小組成員變更該類型的工作項目狀態及指定變更原因時,要套用至該欄位的規則和條件。

<FIELD refname="FieldReferenceName">
   <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
   <ALLOWEXISTINGVALUE />
   <CANNOTLOSEVALUE />
   <COPY />
   <DEFAULT />
   <EMPTY />
   <FROZEN />
   <MATCH />
   <NOTSAMEAS />
   <PROHIBITEDVALUES /> . . . </PROHIBITEDVALUES>
   <READONLY />
   <SERVERDEFAULT />
   <SUGGESTEDVALUES /> . . . </SUGGESTEDVALUES>
   <VALIDUSER />
   <WHEN>> . . . </WHEN>
   <WHENNOT> . . . </WHENNOT>
   <WHENCHANGED> . . . </WHENCHANGED>
   <WHENNOTCHANGED> . . . </WHENNOTCHANGED>
<FIELD>

如需詳細資訊,請參閱FIELD (工作流程) 項目

Optional

FIELDS

指定 FIELD 項目的集合。

<FIELDS>
   <FIELD . . . </FIELD>
</FIELDS>

Optional

REASON

定義小組成員變更工作項目狀態的其他原因。

<REASON value="NameOfReason">
   <FIELDS>. . . </FIELDS>
</REASON>

Optional

REASONS

由一個 DEFAULTREASON 和多個選擇性 REASON 項目組成的集合,說明小組成員變更工作項目狀態的原因。

<REASONS>
   <DEFAULTREASON>. . . </DEFAULTREASON>
   <REASON>. . . </REASON>
</REASONS>

STATE

定義工作項目類型的有效狀態。 這個項目可以包含 FIELDS 項目,這個項目會參考小組成員變更該類型的工作項目狀態時,要套用至特定欄位的規則和條件。

<STATE value="NameOfState">
  <FIELDS>. . . </FIELDS>
</STATE>

必要項

STATES

指定 STATE 項目的集合,這些項目會定義使用者可以指派給該類型之工作項目的有效狀態。

<STATES>
   <STATE>. . . </STATE>
</STATES>

必要項

TRANSITION

指定特定類型的工作項目從某個狀態有效進展或回復到另一個狀態。

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

如需詳細資訊,請參閱 TRANSITION 項目

必要項

TRANSITIONS

指定 TRANSITION 項目的集合。

<TRANSITIONS>
    <TRANSITION>. . . </TRANSITION>
</TRANSITIONS>

必要項

WORKFLOW

指定 STATES 和 TRANSITIONS 容器項目的集合,這些項目會共同定義工作項目類型的工作流程。

<WORKFLOW>
   <STATES>. . . </STATES>
   <TRANSITIONS>. . . </TRANSITIONS>
</WORKFLOW>

必要項

請參閱

參考

FIELD (工作流程) 項目

概念

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