次の方法で共有


プラグイン ファイルのタスク グループとタスクの依存関係の定義

タスク グループまたはタスクをプラグイン ファイルに追加する場合は、正しいシーケンスで追加して、グループまたはタスクが持つ他のタスク グループやタスクの完了にかかわる依存関係を宣言する必要があります。 タスクによっては、他のタスクに依存することがあり、他のタスクが完了しないとメインのタスクを実行できないという状況になり得ます。 たとえば、作業項目クエリを作成するタスクは、作業項目の種類を作成するためのすべてのタスクが正常に完了するまでは実行できません。 つまり、作業項目クエリをアップロードするタスクは、作業項目の種類をアップロードするタスクに依存するということです。

必要なプラグインとプラグインの依存関係

次の図は、Team Foundation Server (TFS) プロセス テンプレートに対して定義された依存関係を示しています。 図に示すように、作業項目トラッキングのプラグインはグループとアクセス許可のプラグインの正常な完了に依存しており、グループとアクセス許可のプラグインは分類のプラグインの正常な完了に依存しています。 テスト管理とバージョン コントロールのプラグインは、最初の 3 つのプラグインの完了に依存します。 ビルド、ラボ、レポート、およびポータルのプラグインは、バージョン コントロールのプラグインの完了に依存します。

プロセス テンプレートのプラグインの依存関係

ヒント

各プラグイン ファイルのタスク グループとタスクを依存関係と同じ順序で定義すると、ファイルの読み取りと依存関係の問題の解消が容易になります。

依存関係を使用して、新しいチーム プロジェクト ウィザードでプラグインが実行される順序を指定できます。 プラグインの中には、他のプラグインに常に依存するものがあります。 また、プロセス テンプレートには必要ないプラグインもあります。

次の表は、その他のプラグインに依存するプラグインについて示しています。 分類のプラグインのみが必須です。 その他のプラグインはすべて省略可能です。 各プラグインの詳細については、「プロセス テンプレート ファイルの概要」を参照してください。

プラグイン

依存するプラグイン

ビルド

グループ、バージョン コントロール

分類

なし

グループ

分類

ラボ

ビルド、分類、グループ、作業項目トラッキング

ポータル

分類、レポート、バージョン コントロールおよび作業項目トラッキング

レポート

分類、バージョン コントロールおよび作業項目トラッキング

テスト管理

分類、グループ、および作業項目トラッキング

バージョン コントロール

分類、グループ、および作業項目トラッキング

作業項目トラッキング

分類およびグループ

タスク グループの依存関係の定義

依存関係がある場合には、タスクおよびグループで dependency 要素を使用してその旨を示します。 次の例では、dependency 要素を使用して、WorkItemTracking タスク グループが Classification タスク グループと Groups タスク グループに依存することを示しています。

<group id="WorkItemTracking"
   description="Workitem definitions uploading."
   completionMessage="Workitem definitions uploaded.">
   <dependencies> 
      <dependency groupId="Classification"/> 
      <dependency groupId="Groups"/> 
   </dependencies>
   <taskList filename="WorkItem Tracking\WorkItems.xml"/>
</group>

注意

groupId 要素は、他のグループの id 要素の値を参照します。

タスク グループの依存関係の定義に使用する要素を次の表に示します。 タスク グループを定義する方法の詳細については、「プロセス テンプレート XML 要素のリファレンス」を参照してください。

要素

構文

説明

dependencies

<dependencies>
<dependency>. . . </dependency>
</dependencies>

group の子要素です (必須)。

グループが依存するその他のグループを指定します。

dependency

<dependency groupId="groupId" />

dependencies の子要素です (省略可能)。

このグループが依存する別のタスク グループの ID を指定します。 このタスク グループが開始する前に、別のグループがそのタスクを完了する必要があります。

タスクの依存関係の定義

次の例では、dependency 要素を使用して、WorkItems タスクが、"WITs" という ID を持つタスクに依存することを示しています。

<task
   id="WIs"
   name="WorkItems"
   plugin="Microsoft.ProjectCreationWizard.WorkItemTracking"
   completionMessage="Work items uploaded"
   completionDescription = "Processing the actual work items used by work item tracking">
   <dependencies> 
      <dependency taskId="WITs" /> 
   </dependencies>

タスクの依存関係の定義に使用する要素を次の表に示します。 タスクを定義する方法の詳細については、「プラグインを処理するタスクの定義」を参照してください。

要素

構文

説明

dependencies

<dependencies>
<dependency>. . . </dependency>
</dependencies>

task の子要素です (省略可能)。

タスクが依存するその他のタスクを指定します。

dependency

<dependency taskId="taskId" />

dependencies の子要素です (省略可能)。

このタスクが依存する別のタスクの ID を指定します。 このタスクが開始する前に、別のタスクがそのタスクを完了する必要があります。

参照

概念

プロセス テンプレートのカスタマイズ

プラグインを処理するタスクの定義

プロセス テンプレート プラグイン ファイルを使用したルート タスクの定義