次の方法で共有


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

省略可能です。 作業項目のアクション後の状態を取得する WorkItem.GetNextState メソッドを呼び出す場合に使用するアクション文字列をそれぞれ定義する、ACTION 要素のコレクションを定義します。

REASONS

必ず指定します。 作業項目が遷移を完了する有効な理由を定義する DEFAULTREASON 要素および REASON 要素のコレクション。

FIELDS (ワークフロー)

省略可能です。 作業項目の種類に対して定義されるフィールド定義を参照する FIELD (ワークフロー) 要素のコレクション。

親要素

要素

説明

TRANSITIONS

必ず指定します。 作業項目の種類の有効な状態遷移を定義する TRANSITION 要素のコレクション。

解説

TRANSITION は TRANSITIONS に必須の子要素です。

作業項目をなし (from="") から Active などの名前付きの状態に移行するには、必ず 1 つの遷移を定義する必要があります。 この遷移では、新しい作業項目の既定の状態を指定します。

minOccurs="1"

maxOccurs="unbounded"

2 つの状態の間のすべての有効な遷移を指定する必要があります。 遷移が指定されていない場合、既定では遷移は許可されません。

さらに、必要に応じて、ワークフローの遷移要素の属性 for および not を使用すると、遷移を実行できるユーザーとできないユーザーを絞り込むことができます。 これを実行する場合、denies が allows よりも優先します。 これらの属性のどちらも指定しない場合は、だれでも作業項目を変更できます。

複数のグループをサポートするのは、親グループを作成して、その親グループを TRANSITION 要素で指定する場合のみです。 for 属性および not 属性の詳細については、「作業項目フィールドへの規則の適用」を参照してください。

使用例

次の例では、ワークフローの状態を Active から Resolved にする遷移の理由が定義されています。

<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>

次の規則では、作業項目を Resolved から Completed の状態に遷移できるのは、チームに参加したばかりの新しいテスト担当者を除く、すべてのプロジェクトのテスト担当者に限定されています。

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

参照

概念

作業項目の種類に関するワークフローの変更