次の方法で共有


チュートリアル : 作業項目の種類の基本的なカスタマイズ

更新 : 2007 年 11 月

このチュートリアルでは、既存の作業項目の種類を最も一般的な方法でカスタマイズします。作業項目の種類をカスタマイズするために使用するツール、およびこれらの種類を定義する XML 言語について学びます。

これらのカスタマイズを次の手順で説明します。

  • チーム プロジェクトの作成   この手順では、後の手順で操作する作業項目の種類を格納するチーム プロジェクトを作成します。

  • 作業項目の種類の表示   この手順では、既存の作業項目の種類のフォームを表示します。

  • 作業項目の種類のエクスポート   この手順では、作業項目の種類の定義を XML ファイルにエクスポートします。

  • 種類の名前の変更   この手順では、作業項目の種類の定義が含まれる XML ファイルを変更して、作業項目の種類の名前を Task から Special Task に変更します。

  • 変更のインポート   この手順では、前の手順で変更した作業項目の種類を Team Foundation Server にインポートします。

  • フィールドの追加   この手順では、Category という新しいフィールドを既存の作業項目の種類に追加します。

  • フィールドへの規則の追加   この手順では、新しい Category フィールドを必須フィールドにする規則を追加します。

  • 選択リストの作成   この手順では、Category フィールドに対して許可する値のリストを追加します。新しい値は、作業項目の種類から作成される作業項目の選択肢として表示されます。

  • ワークフローの変更   この手順では、新しい状態と遷移を作業項目の種類に追加します。

  • フォーム レイアウトの変更   この手順では、作業項目フォームのフィールドの位置を変更します。

前提条件

これらのチュートリアルの手順を実行するための要件は次のとおりです。

Visual Studio Team System のコピー、またはチーム エクスプローラがインストール済みで Team Foundation Server に接続されている Visual Studio のコピー。詳細については、「方法 : Team Foundation Server に接続する」を参照してください。

Team Foundation Server への接続を確立でき、適切なアクセス許可がある場合は、コマンド プロンプト、バッチ ファイル、またはスクリプト ファイルで作業項目の種類に対して基本的なカスタマイズを行うことができます。これを行うには、Visual Studio 2008 コマンド プロンプト ユーティリティを使用するか、次の例で説明する vsvars32 を使用して、現在のコマンド プロンプトで複数の環境変数を設定する必要があります。チーム プロジェクトに参加する方法の詳細については、「チュートリアル : チーム プロジェクトへの参加」を参照してください。

コマンド プロンプトで Team Foundation のコマンドを有効にするには

  • [スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に [Microsoft Visual Studio 2008] をポイントし、[Visual Studio Tools] をポイントして、[Visual Studio 2008 コマンド プロンプト] をクリックします。

また、Visual Studio のインストール パス (通常は、DriveLetter:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools) にある vsvars32 を実行することもできます。

必要なアクセス許可

この手順を実行するには、Team Foundation 管理者グループのメンバであるか、またはプロジェクトのプロジェクト管理者グループのメンバである必要があります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。

チーム プロジェクトの作成

チーム プロジェクトを作成するには

  1. Visual Studio を起動します。

  2. チーム エクスプローラを開くには、[表示] をクリックし、[チーム エクスプローラ] をクリックします。

  3. チーム エクスプローラで、接続する Team Foundation Server の名前を右クリックし、[新しいチーム プロジェクト] をクリックします。

  4. [<Team Foundation サーバー名> の新しいチーム プロジェクト] ダイアログ ボックスで、[チーム プロジェクトの名前を指定してください] に「WITLab」と入力し、[次へ] をクリックします。

  5. [プロセス テンプレートの選択] ページの [チーム プロジェクトを作成するために使用するプロセス テンプレートを指定してください] で、[MSF for Agile Software Development - <バージョン番号>] をクリックし、[完了] をクリックします。

    チーム プロジェクトの作成には数分間かかる場合があります。

  6. [チーム プロジェクトが作成されました] ページが表示されたら、[チーム プロジェクトの実行についての詳細情報に関するプロセス ガイダンスを起動します] チェック ボックスをオフにし、[閉じる] をクリックします。

    "WITLab" という新しいチーム プロジェクトが作成され、チーム エクスプローラ の Team Foundation Server の下のノードに表示されます。

作業項目の種類の表示

必要条件 : 「チーム プロジェクトの作成」を完了していること。"WITLab" チーム プロジェクトが使用可能であること。

作業項目の種類を表示するには

  1. Visual Studio を起動し、チーム エクスプローラを開きます。

  2. チーム エクスプローラ で、WITLab チーム プロジェクトを展開し、フォルダが読み込まれるまで数秒待ちます。

  3. チーム プロジェクトの [作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[タスク] をクリックします。

    新しい Task 作業項目を表すフォームが表示されます。一部のフィールドには既定値が含まれています。このチュートリアルでは、この作業項目が作成された Task 作業項目の種類をカスタマイズします。

作業項目の種類のエクスポート

必要条件 : 「チーム プロジェクトの作成」を完了していること。"WITLab" チーム プロジェクトが使用可能であること。

作業項目の種類をエクスポートするには

  1. Visual Studio のコマンド プロンプトを開きます。

  2. コマンド プロンプトに次のように入力し、Enter キーを押します。

    witexport /f "File Path\task.xml" /t "Team Foundation Server name" /p WITLab /n Task

    これにより、Task 作業項目の種類が Team Foundation Server から XML ファイルにエクスポートされます。エクスポート操作が終了すると、次のメッセージが表示されます。

    Work item type export complete.

  3. (オプション) Task 作業項目の種類の XML 定義を表示するには、コマンド プロンプトで「task.xml」と入力し、Enter キーを押します。

種類の名前の変更

必要条件 : 「作業項目の種類のエクスポート」の手順を完了していること。

種類の名前を変更するには

  1. Visual Studio で、[ファイル] をクリックし、[ファイルを開く] をクリックします。

    [ファイルを開く] ダイアログ ボックスが表示されます。

  2. [探す場所] で、ファイルをエクスポートした場所に移動します。

    プロセス テンプレートをカスタマイズするために作業項目の種類を変更する場合は、プロセス テンプレートをダウンロードした場所に移動します。

    ms400654.alert_note(ja-jp,VS.90).gifメモ :

    Windows Vista を実行している場合、アクセス権を持たないフォルダが存在する可能性があります。アクセス権のない場所に作業項目の種類をエクスポートしようとすると、レジストリ仮想化テクノロジが、自動的にエクスポートされたファイルをリダイレクトし、仮想ストアに保存します。詳細については、https://go.microsoft.com/fwlink/?LinkId=92325 および https://go.microsoft.com/fwlink/?LinkId=92323 を参照してください。このリダイレクトが行われないようにするには、アクセス権のある場所にファイルをエクスポートします。

  3. task.xml ファイルをクリックし、[開く] をクリックします。改行コードに関する質問が表示されたら、[いいえ] をクリックします。

    これによって、Task 作業項目の種類の定義を含む XML ファイル task.xml が開きます。

  4. この XML ファイルで次の要素を見つけます。

    <WORKITEMTYPE name="Task">
    
  5. name 属性の値を「Special Task」に変更します。

    <WORKITEMTYPE name="Special Task">
    
  6. 変更を新しい XML ファイルに保存します。これを行うには、Visual Studio で、[ファイル] メニューの [名前を付けて task.xml を保存] をクリックします。

    [名前を付けてファイルを保存] ダイアログ ボックスが表示されます。

  7. [ファイル名] に「specialtask.xml」と入力し、[保存] をクリックします。

変更のインポート

必要条件 : 「種類の名前の変更」の手順を完了していること。

変更をインポートするには

  1. Visual Studio のコマンド プロンプトを開きます。

  2. 変更した作業項目の種類を Team Foundation Server にインポートします。これを行うには、Visual Studio コマンド プロンプトで次のように入力し、Enter キーを押します。

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    これにより、specialtask 作業項目の種類が Team Foundation Server にインポートされます。インポート操作が終了すると、次のメッセージが表示されます。

    Work item type import complete.

  3. チーム プロジェクトを選択し、[表示] メニューの [最新の情報に更新] をクリックして、サーバーから最新の更新をダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。すべてのノードが読み込まれるまで数秒待ちます。読み込み中のノードには、"処理中" と表示されます。

  4. 新しい Special Task 作業項目を作成します。これを行うには、[作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[Special Task] をクリックします。

    この作業項目は、変更してインポートした作業項目の種類から作成されます。

フィールドの追加

必要条件 : 「種類の名前の変更」の手順を完了していること。

フィールドを追加するには

  1. Special Task 作業項目の種類の定義を含むファイルを開きます。これを行うには、Visual Studio で、[SpecialTask.xml] というラベルのタブをクリックします。

  2. XML ファイルの次のセクションを探します。

    <FIELDS>
    
  3. Category という名前の新しい文字列フィールドとツールヒント用のヘルプ テキストを作成するため、太字で示されている次の XML を入力します。

    <FIELDS>
    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String">    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT></FIELD>
    
    ms400654.alert_note(ja-jp,VS.90).gifメモ :

    参照名、つまり refname は、そのフィールドのプログラミング用の名前です。他のすべての規則は、この refname を参照します。詳細については、「フィールド参照名」を参照してください。

  4. 作業項目フォームについて説明する XML ファイルのセクションを探します。

    <FORM>
    
  5. <FORM> セクション内の次の行を探します。

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
      </Column>
    </Group>
    
  6. Category フィールドを表示する新しいコントロールを挿入するため、太字で示されている次の XML を入力します。

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />  </Column>
    </Group>
    
  7. [ファイル] メニューの [上書き保存] をクリックして、変更を XML ファイルに保存します。

  8. 変更した Special Task 作業項目の種類を Team Foundation Server にインポートします。これを行うには、Visual Studio コマンド プロンプトで次のように入力し、Enter キーを押します。

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    メモ   コマンド ラインで↑キーを押して、最後に入力したコマンドを表示するというショートカットも使用できます。

    これにより、specialtask 作業項目の種類が Team Foundation Server にインポートされます。インポート操作が終了すると、次のメッセージが表示されます。

    Work item type import complete.

  9. チーム エクスプローラで、[最新の情報に更新] をクリックして、サーバーから最新の更新をダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。[作業項目] ノードが読み込まれるまで数秒待ちます。読み込み中のノードには、"処理中" と表示されます。

  10. 新しい Special Task 作業項目を作成します。これを行うには、[作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[Special Task] をクリックします。

    この作業項目は、変更してインポートした作業項目の種類から作成されます。

    フォーム上の新しい [Category] フィールドに注意してください。ツールヒントを参照するには、フィールドのラベルの上にマウス ポインタを移動します。

  11. [閉じる] をクリックして、新しい [Special Task] を閉じます。作業項目を保存するかどうかを確認するメッセージが表示されたら、[いいえ] をクリックします。

フィールドへの規則の追加

必要条件 : 「フィールドの追加」の手順を完了していること。

フィールドに規則を追加するには

  1. Special Task 作業項目の種類の定義を含むファイルを開きます。これを行うには、Visual Studio で、[specialtask.xml] というラベルのタブをクリックします。

  2. XML ファイルの <FIELDS> セクションを探し、その中の Category フィールドを探します。

  3. Category を必須フィールドにするため、次の規則を XML ファイルに追加します。規則は太字で示されています。

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    </FIELD>
    
  4. [ファイル] メニューの [上書き保存] をクリックして、変更を XML ファイルに保存します。

  5. 変更した Special Task 作業項目の種類を Team Foundation Server にインポートします。これを行うには、Visual Studio コマンド プロンプトで次のように入力し、Enter キーを押します。

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    これにより、specialtask 作業項目の種類が Team Foundation Server にインポートされます。インポート操作が終了すると、次のメッセージが表示されます。

    Work item type import complete.

  6. チーム エクスプローラで、[最新の情報に更新] をクリックして、サーバーから最新の更新をダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。[作業項目] ノードが読み込まれるまで数秒待ちます。読み込み中のノードには、"処理中" と表示されます。

  7. 新しい Special Task 作業項目を作成します。これを行うには、[作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[Special Task] をクリックします。

    この作業項目は、変更してインポートした作業項目の種類から作成されます。

    Category フィールドが強調表示されていることに注意してください。これは必須フィールドであることを示します。

  8. Special Task 作業項目の Title フィールドを選択し、「Sample Task」と入力します。

  9. ツール バーの [保存] をクリックして作業項目を保存します。

    Category フィールドは空にしておくことができないことを示すエラー ダイアログ ボックスが表示されます。[OK] をクリックし、ダイアログ ボックスを閉じます。

  10. Special Task の Category フィールドに「A category」と入力します。

  11. [保存] をクリックして作業項目を保存します。

    今度は作業項目を保存できることに注意してください。

  12. [閉じる] をクリックして、新しい [Special Task] を閉じます。

選択リストの作成

必要条件 : 「フィールドへの規則の追加」の手順を完了していること。

選択リストを作成するには

  1. Special Task 作業項目の種類の定義を含むファイルを開きます。これを行うには、Visual Studio で、[specialtask.xml] というラベルのタブをクリックします。

  2. XML ファイルの <FIELDS> セクションを探し、その中の Category フィールドを探します。

  3. Category フィールドで許可される値のリストを追加するため、ALLOWEDVALUES 規則を挿入します。新しい規則は、次の XML に太字で示されています。

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    <ALLOWEDVALUES>
        <LISTITEM value="Process Management" />
        <LISTITEM value="Planning" />
        <LISTITEM value="Execution" />
        <LISTITEM value="Review" /></ALLOWEDVALUES>
    </FIELD>
    
  4. Category をオプション フィールドにするため、太字で示されている REQUIRED 規則を削除します。

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    <ALLOWEDVALUES>
        <LISTITEM value="Process Management" />
        <LISTITEM value="Planning" />
        <LISTITEM value="Execution" />
        <LISTITEM value="Review" />
    </ALLOWEDVALUES>
    </FIELD>
    
  5. [保存] をクリックして、XML ファイルへの変更を保存します。

  6. 変更した Special Task 作業項目の種類を Team Foundation Server にインポートします。これを行うには、Visual Studio コマンド プロンプトで次のように入力し、Enter キーを押します。

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    これにより、specialtask 作業項目の種類が Team Foundation Server にインポートされます。インポート操作が終了すると、次のメッセージが表示されます。

    Work item type import complete.

  7. Visual Studio のチーム エクスプローラ ウィンドウで、[最新の情報に更新] をクリックしてサーバーから最新の更新をダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。[作業項目] ノードが読み込まれるまで数秒待ちます。読み込み中のノードには、"処理中" と表示されます。

  8. 新しい Special Task 作業項目を作成します。これを行うには、[作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[Special Task] をクリックします。

    この作業項目は、変更してインポートした作業項目の種類から作成されます。

  9. Category フィールドのリスト ボックスをクリックします。

    ALLOWEDVALUES 規則で指定した値のみがこのフィールドでサポートされるようになったことに注意してください。

    ms400654.alert_note(ja-jp,VS.90).gifメモ :

    ドロップダウン リストで許可されている値は、XML ファイル内の LISTITEM 要素の順序に関係なく、常にアルファベット順に表示されます。

  10. [閉じる] をクリックして、新しい [Special Task] を閉じます。作業項目を保存するかどうかを確認するメッセージが表示されたら、[いいえ] をクリックします。

ワークフローの変更

必要条件 : 「選択リストの作成」の手順を完了していること。

ワークフローを変更するには

  1. Special Task 作業項目の種類の定義を含むファイルを開きます。これを行うには、Visual Studio で、[specialtask.xml] というラベルのタブをクリックします。

  2. 次の XML に示すように、XML ファイルの <WORKFLOW> セクションで作業項目の種類のワークフローの定義を探します。

    <WORKFLOW>
      <STATES>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    

    Active と Closed という 2 つの状態のみが定義されていることに注意してください。作業項目が初めて作成されるときに使われる、null 状態からの開始時の遷移に加え、これらの状態間の遷移も定義されています。

  3. Unapproved 状態を種類の定義に追加するため、もう 1 つの <STATE> 要素を挿入します。新しい状態は太字で示されています。

    <WORKFLOW>
      <STATES>
        <STATE value="Unapproved">    </STATE>    <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  4. null 状態と Unapproved 状態の間の遷移を作成します。これを行うには、まず遷移用のワークフロー定義のセクションを探します。次に、太字で示されている次の XML を挿入します。この変更によって、この種類のすべての新しい作業項目は、既定の理由 New を持つ Unapproved 状態で開始されます。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">    <REASONS>      <DEFAULTREASON value="New" />    </REASONS>  </TRANSITION>  <TRANSITION from="" to="Active">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
        <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
            <COPY from="currentuser" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
            <COPY from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
            <COPY from="currentuser" />
          </FIELD>
        </FIELDS>
      </TRANSITION>
    
  5. 次の XML に太字で示されている Active への遷移を削除します。これを行うのは、開始時の遷移は 1 つしか存在できず、次の手順で定義する "Ported" という開始時の遷移を使用するためです。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
      </TRANSITION>
      <TRANSITION from="" to="Active">    <REASONS>      <DEFAULTREASON value="New" />    </REASONS>    <FIELDS>      <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">        <COPY from="currentuser" />      </FIELD>      <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">        <COPY from="clock" />      </FIELD>      <FIELD refname="System.AssignedTo">        <COPY from="currentuser" />      </FIELD>    </FIELDS>  </TRANSITION>
    
  6. 開始時の遷移に対して "Ported" という理由を追加するために、太字で示されている次の XML を挿入します。これによって、ユーザーは作業項目が新規であるか、または別のトラッキング システムから移植されたものであるかがわかります。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />    </REASONS>
      </TRANSITION>
    ...
    
  7. 太字で示されている次の COPY 規則を挿入します。この規則によって、Assigned To フィールドには作業項目を作成したユーザーが既定で表示され、このフィールドは開始時の遷移中にのみ評価されます。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>       <FIELD refname="System.AssignedTo">         <COPY from="currentuser" />       </FIELD>    </FIELDS>
      </TRANSITION>
    ...
    
    ms400654.alert_note(ja-jp,VS.90).gifメモ :

    別の <TRANSITION> または<STATE> 要素の下にこの規則を挿入すると、他の遷移または状態に対して規則が適用されます。

  8. Unapproved 状態から Active 状態への遷移を作成するには、太字で示されている次の XML を挿入します。この変更によって、Special Task が承認されると、この遷移に入ることができます。

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>
           <FIELD refname="System.AssignedTo">
             <COPY from="currentuser" />
           </FIELD>
        </FIELDS>
      </TRANSITION>
      <TRANSITION from="Unapproved" to="Active">    <REASONS>      <DEFAULTREASON value="Approved" />    </REASONS>  </TRANSITION>  <TRANSITION from="Active" to="Closed">
        <REASONS>
          <DEFAULTREASON value="Completed" />
          <REASON value="Deferred" />
          <REASON value="Obsolete" />
          <REASON value="Cut" />
        </REASONS>
    ...
    
  9. [保存] をクリックして、XML ファイルへの変更を保存します。

  10. 変更した Special Task 作業項目の種類を Team Foundation Server にインポートします。これを行うには、Visual Studio コマンド プロンプトで次のように入力し、Enter キーを押します。

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    これにより、specialtask 作業項目の種類が Team Foundation Server にインポートされます。インポート操作が終了すると、次のメッセージが表示されます。

    Work item type import complete.

  11. チーム エクスプローラで、[最新の情報に更新] をクリックして、サーバーから最新の更新をダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。[作業項目] ノードが読み込まれるまで数秒待ちます。読み込み中のノードには、"処理中" と表示されます。

  12. 新しい Special Task 作業項目を作成します。これを行うには、[作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[Special Task] をクリックします。

    この作業項目は、変更してインポートした作業項目の種類から作成されます。

  13. 今度は最初の [状態] が [Unapproved] になり、[理由] が既定で [新規作成] になることに注意してください。さらに、[担当者] の値が既定でユーザーのアカウント名になります。[理由] フィールドをクリックして、リスト ボックスに [新規作成] や [Ported] という理由が表示されることを確認します。

  14. [タイトル] フィールドにタイトルを入力し、[保存] をクリックして作業項目を保存します。保存操作が完了して、ステータス バーに [アイテムが保存されました] と示されるまで待ちます。

  15. [状態] フィールドで、[アクティブ] 値を選択して作業項目を承認し、再度遷移します。[理由] フィールドが既定で [承認済み] になることに注意してください。

  16. [保存] をクリックしてこの遷移を保存します。

  17. [閉じる] をクリックして、[Special Task] を閉じます。

フォーム レイアウトの変更

必要条件 : 「ワークフローの変更」の手順を完了していること。

フォーム レイアウトを変更するには

  1. Special Task 作業項目の種類の定義を含むファイルを開きます。これを行うには、Visual Studio で、[specialtask.xml] というラベルのタブをクリックします。

  2. XML ファイルの <TabGroup> セクションを探します。<Tab> 要素に Links と File Attachments があることを確認します。各 <Tab> 要素には、対応するコントロールをレンダリングする <Control> 要素が含まれます。

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  3. 2 つの <Tab> 要素をマージして両方のコントロールを含む単一の [リンクと添付ファイル] の <Tab> 要素にするため、前の手順で示した XML を次の新しい XML で置き換えます。

    <Tab Label="Links and Attachments">
      <Control Type="LinksControl" Label="Links" LabelPosition="Top" />
      <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" />
    </Tab>
    
  4. Classification グループと Status グループについて記述されている <FORM>, <Layout> 定義のセクションを探します。

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
      </Column>
    </Group>
    
    ms400654.alert_note(ja-jp,VS.90).gifメモ :

    最適な結果を得るには、Column がフォームの幅全体に広がる場合でも、すべての Control または Group を Column 内で表示する必要があります。また、Group に表示可能なラベルまたは境界がない場合でも、すべての Column を Group 内で表示する必要があります。

  5. 太字で示されている次の行を選択し、[編集] メニューの [コピー] をクリックして、この内容を後で使用できるようにクリップボードにコピーします。

      <Column PercentWidth="70">
        <Group>
          <Column PercentWidth="100">
            <Group Label="Classification">
              <Column PercentWidth="100">
                <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />            <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />            <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />          </Column>
            </Group>
    
  6. 次の XML で太字で示されている行を削除して、フォームの現在の場所から Classification グループを削除します。

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification">    <Column PercentWidth="100">      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" />      <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" />      <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />    </Column>  </Group>
    
  7. <TabGroup> セクションで、[詳細] タブを定義する次の行を探します。

    <Tab Label="Details">
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;build:" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
        <Column PercentWidth="50">
          <Group Label="Schedule">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  8. クリップボードの内容を次の場所に貼り付けて、これらのコントロールを [詳細] タブに移動します。

    <Tab Label="Details">
      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />  <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />  <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />  <Group>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" />
    ...
    
  9. 太字で示されている次の変更を行って、移動したフィールドを囲むグループを作成し、フィールドを 2 つの列に分割します。

    <Tab Label="Details">
      <Group Label="Classification">    <Column PercentWidth="50">      <Group>        <Column PercentWidth="100">          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
              <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
            </Column>      </Group>    </Column>    <Column PercentWidth="50">      <Group>        <Column PercentWidth="100">          <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
            </Column>      </Group>    </Column>  </Group>
      <Group>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" />
    ...
    
  10. [保存] をクリックして、XML ファイルへの変更を保存します。

  11. 変更した Special Task 作業項目の種類を Team Foundation Server にインポートします。これを行うには、Visual Studio コマンド プロンプトで次のように入力し、Enter キーを押します。

    witimport /f "File Path\specialtask.xml" /t "Team Foundation Server name" /p WITLab

    これにより、specialtask 作業項目の種類が Team Foundation Server にインポートされます。インポート操作が終了すると、次のメッセージが表示されます。

    Work item type import complete.

  12. チーム エクスプローラで、[最新の情報に更新] をクリックして、サーバーから最新の更新をダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。[作業項目] ノードが読み込まれるまで数秒待ちます。読み込み中のノードには、"処理中" と表示されます。

  13. 新しい Special Task 作業項目を作成します。これを行うには、[作業項目] ノードを右クリックし、[作業項目の追加] をポイントして、[Special Task] をクリックします。

    この作業項目は、変更した作業項目の種類から作成されます。

    Classification グループがメイン フォームに存在しなくなったことに注意してください。[Links and Attachments] タブと [Details] タブをクリックして、変更の結果を確認します。

  14. [閉じる] をクリックして、新しい [Special Task] を閉じます。作業項目を保存するかどうかを確認するメッセージが表示されたら、[いいえ] をクリックします。

次の手順

作業項目の種類をさらにカスタマイズする詳細な手順については、「チュートリアル : 作業項目の種類の高度なカスタマイズ」を参照してください。

参照

処理手順

チュートリアル : 作業項目の種類のフィールドの管理

その他の技術情報

作業項目の種類のカスタマイズ

Team Foundation の作業項目の種類のカスタマイズ