次の方法で共有


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

ProcessTemplate.xml をカスタマイズすると、プロセス テンプレート プラグイン ファイルが処理される順序を追加、削除、または変更できます。 ProcessTemplate.xml は、プロセス テンプレート全体およびすべての従属 XML ファイルを定義するルート ファイルです。 このファイルには、チーム プロジェクトを正しく作成するために実行する必要があるすべてのタスク グループが含まれます。 各タスク グループは、特定のタスクが定義されている従属 XML ファイル (通常はサブフォルダーにあります) を参照します。 一般には、プラグインごとに 1 つのタスク グループを指定します。

既定の TFS プロセス テンプレートの詳細については、こちらを参照してください。 プロセス テンプレートのプラグイン ファイルについては、こちらを参照してください。

このトピックの内容

  • ProcessTemplate.xml ファイルの構造

  • プラグインとタスク グループの定義

  • ProcessTemplate ファイルの例

ProcessTemplate.xml ファイルの構造

各 ProcessTemplate.xml ファイルでは、メタデータとタスク グループを定義します。 次の例に示すように、メタデータでテンプレートを説明し、処理されるプラグインを指定します。

<metadata>
    <name>MSF for Agile Software Development 2013</name>
    <description>This template is flexible and will work great for most teams using Agile planning methods, including those practicing Scrum.</description>
    <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
. . .
    </plugins>
</metadata>

タスク グループでは、次の例に示すように、各プラグインの依存関係と実行されるタスクを指定します。

<groups>
    <group id="Classification" description="Structure definition for the project." completionMessage="Project Structure uploaded.">
      <dependencies></dependencies>
      <taskList filename="Classification\Classification.xml" />
    </group>
    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">
      <dependencies>
        <dependency groupId="Classification" />
      </dependencies>
      <taskList filename="Groups and Permissions\GroupsandPermissions.xml" />
    </group>
. . .
</groups>

ページのトップへ

プラグインとタスク グループの定義

ProcessTemplate.xml ファイルをカスタマイズするには、ProcessTemplate 要素とその子要素を使用します。 各要素の構文の詳細については、「プロセス テンプレート XML 要素のリファレンス」を参照してください。

次の情報を順序どおりに指定することで、処理されるプラグインとルート タスクを定義します。

  1. name。 この要素を使用して、プロセス テンプレートにラベルを割り当てます。 新しいチーム プロジェクト ウィザードでは、次の例のような名前に基づいてプロセス テンプレートを指定します。

    <name>Simplified Process</name>
    

    この要素は必須です。 名前は新しいチーム プロジェクト ウィザードのプロセス テンプレート リストだけでなく、プロセス テンプレート マネージャーのダイアログ ボックスにも表示されます。 各プロセス テンプレートの名前は、チーム プロジェクト コレクション内で一意でなければなりません。また、各テンプレート名の長さは、Unicodoe 文字で 254 文字以下にする必要があります。 既存のテンプレートと同じ名前を持つテンプレートをアップロードすると、既存のテンプレートが上書きされます。

  2. description。 この要素を使用して、次の例に示すように、新しいチーム プロジェクト ウィザードでプロセス テンプレートを説明するテキストを定義します。

    <description>Choose the simple process for projects that require little or no overhead and have very low cost.</description>
    

    このテキストは、プロジェクト リーダーや管理者が、使用するプロセス テンプレートを決めるときに、新しいチーム プロジェクト ウィザードの [プロセス テンプレートの選択] 画面に表示されます。 一般には、チームの規模、期間、コスト、および他の要因に関して、プロセス テンプレートが役立つプロジェクトの種類が説明されます。

  3. プラグインplugins 要素および plugin 要素を使用して、プロセス テンプレートで使用するプラグインのセットを定義します。 従属 XML ファイルがプラグインを参照している場合は、そのプラグインがこのリストにある必要があります。 また、wizardPage 属性 (true または false) も指定して、プラグインが新しいチーム プロジェクト ウィザード上のページを必要とするかどうかを指定する必要もあります。 チーム プロジェクトの作成時に処理されるプラグインのセットを指定し、そのプラグラインが新しいチーム プロジェクト ウィザードにページを表示するかどうかを指定します。

    次の XML コードは、Visual Studio アプリケーション ライフサイクル管理 (ALM) に付属している 9 個の各プラグインで使用する正しい値を示しています。

    <plugins>   <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true"/>   <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true"/>   <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />   <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />   <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" /></plugins>
    
  4. タスク グループ。 タスク グループを定義するには、groups 要素および group 要素を使用します。 各タスク グループは、各プラグインの処理に必要な情報を定義します。 各タスク グループでは、処理するタスクのセットと、そのグループが他のタスク グループに対して持つオプションの依存関係を格納するファイルを指定します。 最も一般的で簡単な方法は、プラグインのグループごとに 1 つの taskList 要素を作成することです。

    次の例は、タスク グループで既定のグループとアクセス許可を作成する方法を示しています。 特定のタスクは、参照先ファイル (GroupsandPermissions.xml) で定義されています。 このタスク グループは、Classification グループのタスクの正常終了に依存します。

    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">   <dependencies>      <dependency groupId="Classification" />   </dependencies>   <taskList filename="Groups and Permissions\GroupsandPermissions.xml" /></group>
    

    各タスク グループには、次の情報を定義します。

    1. ID。 プラグインに割り当てられる一意の ID。

    2. 説明。 新しいチーム プロジェクト ウィザードでプラグイン タスクを説明するテキストです。

    3. 完了メッセージ。 プラグインのすべてのタスクが正常に完了した場合に、新しいチーム プロジェクト ウィザードに表示されるメッセージです。

    4. (省略可能) エラー メッセージ。 プラグインの 1 つ以上のタスクが失敗した場合に、新しいチーム プロジェクト ウィザードに表示されるメッセージです。

    5. (省略可能) プラグインの依存関係dependencies 要素および dependency 要素を使用して、処理されるプラグインの依存関係のセットを定義します。 依存関係とは、現在のプラグイン タスクを処理する前に正常に完了する必要があるプラグインに相当します。

    6. タスク ファイル。 プラグインを処理するタスクのセットを格納するファイルを指定するには、tasklist 要素を使用します。

ページのトップへ

ProcessTemplate ファイルの例

次の構文は、Microsoft Visual Studio Scrum の ProcessTemplate.xml ファイルの内容です。

<?xml version="1.0" encoding="utf-8"?>
<ProcessTemplate>
  <metadata>
    <name>Microsoft Visual Studio Scrum 2013</name>
    <description>This template is for teams who follow the Scrum methodology and use Scrum terminology.</description>
<version type="6B724908-EF14-45CF-84F8-768B5384DA45" major="3" minor="6" />
    <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" />
    </plugins>
  </metadata>
  <groups>
    <group id="Classification" description="Structure definition for the project." completionMessage="Project structure uploaded.">
      <dependencies>
</dependencies>
      <taskList filename="Classification\Classification.xml" />
    </group>
    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">
      <dependencies>
        <dependency groupId="Classification" />
      </dependencies>
      <taskList filename="Groups and Permissions\GroupsAndPermissions.xml" />
    </group>
    <group id="WorkItemTracking" description="Work item definitions uploading." completionMessage="Work item tracking tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="WorkItem Tracking\WorkItems.xml" />
    </group>
    <group id="VersionControl" description="Creating version control." completionMessage="Version control task completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
      </dependencies>
      <taskList filename="Version Control\VersionControl.xml" />
    </group>
    <group id="Build" description="Build default processes uploading." completionMessage="Build default processes uploaded.">
      <dependencies>
        <dependency groupId="VersionControl" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="Build\Build.xml" />
    </group>
    <group id="Lab" description="Creating Lab." completionMessage="Lab task completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
        <dependency groupId="Build" />
      </dependencies>
      <taskList filename="Lab\Lab.xml" />
    </group>
    <group id="TestManagement" description="Test Management default configurations uploading." completionMessage="Test Management default configurations uploaded.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
      </dependencies>
      <taskList filename="Test Management\TestManagement.xml" />
    </group>
    <group id="Reporting" description="Project reports uploading." completionMessage="Project reporting tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="WorkItemTracking" />
        <dependency groupId="VersionControl" />
      </dependencies>
      <taskList filename="Reports\ReportsTasks.xml" />
    </group>
    <group id="Portal" description="Creating project portal site" completionMessage="Project portal tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Reporting" />
      </dependencies>
      <taskList filename="Windows SharePoint Services\WssTasks.xml" />
    </group>
  </groups>
</ProcessTemplate>

参照

概念

プロセス テンプレート ファイルの概要

プロセスのカスタマイズ

その他の技術情報

プロセス テンプレート XML 要素のリファレンス