次の方法で共有


分類プラグインの定義

分類を定義することで、関連する製品の機能やプロジェクトのマイルストーンなど、便利なカテゴリに基づいて、作業の追跡、グループ化、レポート作成をより簡単に行えるようになります。 区分は、作業項目を論理カテゴリ、物理カテゴリ、または機能カテゴリに整理するために定義します。 イテレーションは、作業項目をマイルストーンや時間サイクルのカテゴリにグループ化するために定義します。 たとえば、チームは、作業生産物を、クライアント区分、サーバー区分、および機能拡張区分に整理できます。 イテレーションは、主要なアクティビティ (計画、開発、テストなど) の特定のセットをチームが繰り返す回数を決定します。

定義した分類は、次の図に示すように、新しいチーム プロジェクトの [区分] ページと [イテレーション] ページに表示されます。 このページには、管理 Web ポータルからアクセスします。

チーム プロジェクトの [区分] ページと、TWA 管理コンテキスト

管理コンテキストを開くには、歯車の形の設定アイコン [設定] アイコン (Team System Web Access) をクリックします。

歯車アイコンを選択して管理を開く

Web ポータルに接続する方法については、こちらを参照してください。

チーム プロジェクトの作成後、Web ポータルから区分およびイテレーションを変更します。 プロジェクト区分やイテレーションへのアクセスを制御するには、アクセス許可も定義する必要があります。

区分とイテレーションのほかには、Microsoft Project のマッピング ファイルを指定して、分類プラグインとプロセス テンプレート プロパティにアップロードします。

分類プラグインの名前と場所

次の表に、既定のプロセス テンプレートのファイル、フォルダー、およびプラグインの名前を示します。

ファイル名:

Classification.xml

フォルダー名:

分類

プラグイン名:

Microsoft.ProjectCreationWizard.Classification

注意

この XML ファイルとフォルダーの名前は変更できますが、プラグインの名前は変更できません。TFS には、クライアント側のプラグイン、ポリシー、その他の変更を配置する機構は含まれていません。このような機能を配置するには、配布とインストールを行う独自のプログラムを使用する必要があります。

分類のタスクと依存関係

分類プラグイン ファイルは、Css.xsd ファイルで指定されているスキーマ定義に従っている必要があり、プラグインは独自のファイルで指定されている必要があります。

XML ファイルでは、1 つまたは複数のタスクとその依存関係を指定します。 通常は、1 つのタスクで、チーム プロジェクトで必要なすべてのイテレーションとノードを指定できます。

注意

プロセス テンプレートの区分またはイテレーションを変更する場合は、プロセス テンプレートで定義されている作業項目クエリまたは作業項目に使用される割り当てを損なわないようにしてください。たとえば、アジャイル プロセス テンプレートの Iteration1Backlog.wiq 作業項目クエリでは、イテレーション 1 を参照しています。詳細については、「プロセス テンプレートへの作業項目クエリの追加」を参照してください。

初期の製品区分の指定

区分のルート ノードを指定するには、次の構文を使用します。

<Node StructureType="ProjectModelHierarchy" Name="Area" >

目的に合わせて必要な区分の数だけ、0 個以上の子ノードを指定します。 Node 要素を使用して各区分を指定し、StructureType 属性を ProjectModelHierarchy に設定します。

<Node StructureType="ProjectModelHierarchy" Name="NodeName" ></Node>

次の例は、Client および Server という 2 つの区分の指定方法を示しています。

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Portfolio project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectModelHierarchy" Name="Teams" >
               <Children>
                  <Node StructureType="ProjectModelHierarchy" Name="Client"></Node>
                  <Node StructureType="ProjectModelHierarchy" Name="Server"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>

初期のイテレーション パスの指定

イテレーションのルート ノードを指定するには、次の構文を使用します。

<Node StructureType="ProjectLifecycle" Name="NodeName" >

目的に合わせて必要なイテレーションの数だけ、0 個以上の子ノードを指定します。 Node 要素を使用して各イテレーションを指定し、StructureType 属性を ProjectLifecycle に設定します。

次の例は、Milestone 1、Milestone 2、Beta、および RTM という 4 つのイテレーションの指定方法を示しています。

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Team project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectLifecycle" Name="Iteration" >
               <Children>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 1"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 2"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 3"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Sprint 4"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>

プロセス テンプレート プロパティの指定

このセクションでは、Project フィールドから TFS フィールドへのマッピング ファイルとプロセス テンプレートという 2 つのプロパティを指定します。 マッピング ファイルでは、プロジェクトで定義されているフィールドに TFS 内のフィールドをマップする方法を指定します。 2 つ目のプロパティでは、プロセス テンプレートを一意の値に関連付けます。 次の例では、このエントリの構文構造を示します。

<properties>
   <property name="MSPROJ" 
             value="Classification\FileMapping.xml" 
             isFile="true" />
   <property name="Process Template" value="Agile"/>
</properties>

FileMapping.xml ファイルをカスタマイズする方法については、「Microsoft Project フィールドの Team Foundation フィールドへのマッピング」を参照してください。

分類プラグインの要素リファレンス

分類プラグイン ファイルの taskXml コンテナー要素内で、次の要素を指定します。 taskXml の詳細については、「プラグインを処理するタスクの定義」を参照してください。

区分とイテレーションは、入れ子のノードと子ノードのツリー パスを指定することで定義します。 詳細については、「区分およびイテレーション パスの追加および変更」を参照してください。

要素

説明

Children

Children は、Node の子要素で、省略可能な要素です。

子区分または子イテレーションの定義を含みます。

<Children>
    <Node> . . . </Node>
</Children>

Node

Node は、Nodes および Children の省略可能な子要素です。

ツリーの構造を定義します。 イテレーションでは ProjectLifecycle を使用し、区分では ProjectModelHierarchy を使用します。 ノード名は、255 文字を超えないようにしてください。

<Node StructureType="ProjectLifecycle | ProjectModelHierarchy" Name="NodeName">
   <Node> . . . </Node>
   <Children> . . . </Children>
</Node>

Nodes

Nodes は、分類プラグインの taskXml に必須の子要素です。

区分とイテレーションの定義を含みます。

<Nodes>
   <Node> . . . </Node>
</Nodes>

properties

分類プラグインの taskXml の省略可能な子要素です。

<properties>
   <property />
</properties>

property

property は properties に必須の子要素です。

Microsoft Project の XML マッピング データなど、プロジェクト関連のデータを定義します。

<property name="property name" value="Classification\FileName" isFile="true | false" />

各属性に適用する定義は次のとおりです。

  • name: 必須。 プロパティの名前を定義します。 有効な名前は、MSPROJ および Process Template のみです。

  • value: 必須。

    • MSPROJ の場合は、フィールド マップ ファイルへの相対パスを定義します。

    • Process Template の場合は、プロセス テンプレートに関連付けられたプロセスの名前を含めます。 プロセスを Visual Studio Online にインポートすると、このプロパティが分類ファイルに追加されます。

  • isFile: (省略可能)。 このプロパティがファイルで定義されているかどうかを指定します。 値が true の場合、そのファイルが存在する必要があります。ファイルが存在しないと、プロセス テンプレートの妥当性検証は失敗します。

注意

Css.xsd スキーマ ファイルでは、property 要素または properties 要素は定義されません。Visual Studio Online または TFS にプロセス テンプレートをアップロードすると、各要素に対して検証チェックが行われます。

既定のプロセス テンプレートでは区分ノードは指定されていませんが、"イテレーション 1"、"イテレーション 2"、および "イテレーション 3" という名前のイテレーション ノードが指定されています。 イテレーション ノードは作業項目クエリの定義内で参照され、タスクは作業項目トラッキングとポータルのプラグインで定義されます。

分類に適用するガイドラインと名前付けの制限事項の詳細については、「区分およびイテレーション パスの追加および変更」を参照してください。 区分とイテレーションを追跡するフィールドの詳細については、「区分およびイテレーションのフィールド参照」を参照してください。

参照

概念

区分およびイテレーション パスの追加および変更