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

Azure DevOps Server 2022 - Azure DevOps Server 2019

プロセス テンプレートは、プロジェクトの作成時に使用できるオブジェクトとプロセスを定義します。 プロセス テンプレートをカスタマイズすることで、さらにオブジェクトの 1 つをカスタマイズします。 一般的なカスタマイズの種類は次のとおりです。

  • 既存の作業項目の種類 (WIT) に新しいフィールドを追加する
  • フィールドの値の選択リストを変更する
  • 既定またはカスタムの作業項目の種類のワークフローの状態、理由、遷移、およびアクションを変更する
  • 作業項目フォームのレイアウトを編集する
  • 作業項目の種類を追加または削除する
  • Azure Boards ハブに関連付けられているプロセス構成または既定値を変更する

Note

この記事では、Azure DevOps Services で定義されたプロジェクトを作成するために使用されるプロセス テンプレートについて説明します。 ソフトウェア開発用のプロジェクト テンプレートをお探しの場合は、「Visual Studio テンプレートの作成」を参照してください

既定のプロセス テンプレートでは、Azure Boards と Azure Test Plans で使用される既定の構成と作業項目の種類を定義します。 たとえば、アジャイル プロセス テンプレートは、次の図に示す作業項目の種類のセットを定義します。

アジャイル プロセス テンプレート成果物の概念図。

これらの成果物の多くは、作業の追跡に使用される作業項目の種類によって異なります。 たとえば、機能、バグ、ユーザー ストーリー、またはタスクの定義で定義されているデータ フィールドは、作業項目クエリの定義にも使用されます。 これらの成果物に加えて、初期プロジェクト領域とイテレーション、セキュリティ構成、およびテスト 計画をサポートするその他の既定の設定を定義することもできます。

プロジェクトを作成したら、構成を変更して成果物をカスタマイズできます。 ただし、プロジェクトを作成する前にプロセス テンプレートをカスタマイズすることで、作成した結果のプロジェクトはすべて、標準的なチーム プロセスのセットと一致します。 プロセス テンプレートをカスタマイズするメイン理由は次のとおりです。

  • 複数のプロジェクトを作成する予定であり、作成する各プロジェクトで後で実装する必要がある繰り返しのタスクを最小限に抑える必要がある場合
  • ソフトウェア開発チームが使用するツールセット内のテンプレートと構造を提供して、すべてのチームが特定の標準に準拠していることを確認する必要がある
  • アップグレード後の機能の構成ウィザードの使用をサポートするには、カスタム プロセス テンプレートを更新する必要があります

1 つのプロジェクトのみを操作する場合は、プロジェクトを作成し、後で 1 つ以上のオブジェクトをカスタマイズすることを検討してください。

プロセス テンプレートはどのように使用されますか?

プロセス テンプレートの主な用途は、プロジェクトを作成することです。 Hosted XML プロセス モデルの場合は、プロジェクトの更新にも使用されます。 プロジェクトは、相互に依存するテンプレート ファイルのセットで定義されているオブジェクト、成果物、および構成のセットを提供します。 プロジェクトを使用して、ソース コードの整理、作業と情報の追跡、ソフトウェアのビルド、テスト アクティビティのサポートを行います。

ホストされた XML プロセス モデル

オンプレミス XML プロセス モデル

まず、何を行う必要がありますか。

プロセス テンプレートのカスタマイズを開始する前に、構成およびカスタマイズできる内容を理解し、それに応じて変更を計画する必要があります。

  • プロセス テンプレートを初めて使用する場合は、最初 に既定のプロセス テンプレートを確認します

  • プロセス テンプレートのファイル構造を理解するには、各ファイルの説明を確認するかプロセス テンプレートをダウンロードします。

    プロジェクトのプロセスは、作成後に変更できます。 プロジェクトを操作する際に、定義されたプロセス テンプレートの初期設定がニーズを満たさなくなる可能性があります。

  • テスト計画、テスト スイート、テスト ケースなど、作業の追跡に使用されるオブジェクトのカスタマイズに最も関心がある場合は、「作業の追跡エクスペリエンスをカスタマイズする」を参照してください。 プロジェクトの XML 定義ファイルを変更して行うカスタマイズは、プロセス テンプレート ファイルで行うカスタマイズと同じ種類です。

    作業項目の種類を追加または変更する場合は、プロセス テンプレート全体を変更せずにこれを実現できます。 既存のプロジェクトを使用して、変更を行ってテストできます。 オンプレミスの XML プロセス モデルでは、witadmin exportwitd および importwitd コマンド ライン ツールを使用して、作業項目の種類の XML 定義ファイルをダウンロードしてアップロードできます。

  • 広範なカスタマイズを検討している場合は、行った変更がプロジェクトのメインのメンテナンスとアップグレードにどのように影響するかを確認してください。

カスタマイズできるプロセス テンプレート ファイルと機能領域

プロセス テンプレートは、9 つのプラグインで構成されます。各プラグインは、実行する一連のタスクと、プロジェクトの作成時に表示される画面を定義します。 タスクは、アクセス許可の設定、フォルダーの作成、ファイルのアップロード、サイトのアクティブ化、またはその他の構成可能な変数の設定を行います。 プラグインでは、タスクが他のタスクの正常な完了時に持つ依存関係も指定します。

プロセス テンプレート プラグインの概念図。

重要

Web ポータルからプロジェクトを作成すると、いくつかのプロセス テンプレート ファイルは無視されます。 具体的には、レポート マネージャー サイトを作成するファイルはサポートされていません。 プロジェクト コレクションのレポートをサポートするには、「チーム プロジェクトにレポートを追加する」を参照してください

プロセス テンプレートをカスタマイズするには、機能領域に関連付けられている 1 つ以上のファイルをカスタマイズします。 1 つのオブジェクトのカスタマイズは非常に簡単ですが、カスタマイズするときに相互依存関係を中断しないようにする必要があります。 ProcessTemplate.xml プラグイン ファイル、テンプレートに含めるプラグインを定義します。 このファイルには、プロジェクトを作成するために実行するすべてのタスク グループが含まれています。 各タスク グループは、そのプラグインの特定のタスクが定義されている下位 XML プラグイン ファイルを参照します。

プラグインの依存関係

多くのオブジェクトは、プロセス テンプレート内の他のオブジェクトの定義に依存します。 必要なプラグインとプラグインの依存関係の概要については、「タスク グループとタスクの依存関係を定義する」を参照してください

プラグインと名前付けの制限

プロセス テンプレートにオブジェクトを追加するときは、XML 検証エラーを回避するために、オブジェクトに正しいラベルを付けてください。

  • 制限は、ほとんどの Team Foundation オブジェクトの名前またはラベルに適用されます。 プロセス テンプレート、セキュリティ グループ、領域と反復ノード、作業項目の種類、作業項目フィールドに適用される名前付け制限の概要については、「名前付けの制限」を参照してください

  • カスタマイズするほとんどのプロセス テンプレート コンポーネントは、プロセス テンプレートを使用して作成したプロジェクトにのみ影響します。 このルールの例外は、グローバル リスト、リンクの種類、作業項目フィールドです。 これらのオブジェクトは、プロジェクト コレクションに対して定義されます。

  • 各作業項目フィールドには、各フィールドを一意に識別するフィールド参照名が関連付けられています。 参照名は、割り当てられた後は変更できません。

    さらに、プロジェクト コレクションに SQL Server Reporting Services を使用している場合は、作業項目フィールドに割り当てられたレポート名が、プロジェクト コレクションに定義されているすべての作業項目の種類で一致する必要があります。 そうしないと、プロセス テンプレートをアップロードするときに検証エラーが発生したり、データ ウェアハウス データベースで競合が発生したりする可能性があります。

    作業項目フィールド名、リンク型名、およびグローバル リストは、プロジェクト コレクションにスコープが設定されます。 これらのオブジェクトのいずれかをカスタマイズすると、コレクションで定義されているすべてのプロジェクトと、その作業項目フィールドを含む作業項目の種類に変更が反映されます。

  • プロセス テンプレートの最大サイズは 2 ギガバイトです。 プロセス テンプレートをカスタマイズするときは、変更によってその値を超えるサイズが増えないことを確認します。

プロセス テンプレートをカスタマイズする手順

プロセス テンプレートのカスタマイズは反復的なプロセスです。 Azure DevOps Server を実行しているサーバーで定義されているプロジェクト コレクションが必要です。ここで、プロセス テンプレートをテストして、正しくカスタマイズされたことを確認できます。

プロセス テンプレートをカスタマイズするには、まず既存のプロセス テンプレートをダウンロードし、ファイルを変更または追加し、プロセス テンプレート ファイルをアップロードしてから、変更を確認します。

プロセス テンプレートのカスタマイズ ワークフローを示す概念図。

手順 タスク
ステップ 1 プロセス テンプレートをダウンロードします。 プロセス テンプレートをカスタマイズする前に、ローカル コンピューターにダウンロードする必要があります。

行う必要がある変更を最小限に抑えるには、 チーム プロセスに最も近いテンプレート を選択します。 一般に、作業項目とワークフローの種類に基づいてプロセス テンプレートを選択します。
ステップ 2 ファイルを変更または追加します。 プロセス テンプレートをカスタマイズするには、プロセス テンプレートに対して定義されているファイルを変更、削除、または追加します。 プラグインまたは定義ファイルをカスタマイズする場合は、その XML コンテンツを変更します。 各プラグイン ファイルと型定義ファイルは、その XML スキーマ定義に準拠している必要があります。

プロセス テンプレートを初めてカスタマイズするときは、小さな変更を加えます。 変更がテンプレートに与える影響を十分に理解せずに多くの変更を行うと、デバッグが困難な複数のミスが発生するリスクがあります。

プロセス テンプレートの名前が一意であることを確認します。 プロセス テンプレートをダウンロードして変更し、アップロードする場合は、その名前を変更する必要があります。そうしないと、プロジェクト コレクションから既存のプロセス テンプレートが過剰に書き込まれます。
ステップ 3 プロセス テンプレートをアップロードします。 テンプレートをカスタマイズしたら、プロジェクトを作成するプロジェクト コレクションにアップロードします。

理想的には、他のプロジェクトで使用されていないプロジェクト コレクションを使用する必要があります。 テスト ベッド プロジェクト コレクションで作業することで、開発中の既存のチーム プロセスと競合する可能性のある変更を導入しないようにすることができます。 また、プロジェクト コレクションは、プロジェクト ポータルやレポート サイトなど、アクセスするのと同じリソースをサポートする必要があります。

プロセス テンプレートの名前が一意であることを確認します。 プロジェクト コレクションからプロセス テンプレートをダウンロードし、変更を加え、テンプレートをアップロードする場合は、その名前を変更するか、プロジェクト コレクションから既存のプロセス テンプレートを削除する必要があります。

アップロード プロセスは、検証チェックを実行して、XML が有効であることを確認します。 プロセス テンプレートをアップロードしようとしたときにエラーが発生した場合は、行った変更によってエラーが発生します。 変更内容を確認し、見つけた XML 構文エラーを修正します。
ステップ 4 プロジェクトを作成します。 新しいプロセス テンプレートをテストするには、プロジェクトを作成する必要があります。 エラーが発生した場合は、プロジェクト作成のログを表示します。 これには、実行しようとしたタスクの一覧が含まれ、失敗したタスクが表示されます。 失敗したタスクを XML にマップし直して、エラーの原因を特定できます。

TFSDeleteProject コマンド ライン ツールを使用して、不要なプロジェクトをクリーンできます。
手順 5. プロセス テンプレートに対する変更を確認します。 プロセス テンプレートを運用モードにして、複数のプロジェクトの基礎として使用する前に、それが明確に定義されていることを確認する必要があります。 このタスクを実行するには、各オブジェクトと成果物が期待どおりに動作することを体系的に確認します。

プロセス テンプレートのカスタマイズをサポートするツール

プロセス テンプレートは、次のいずれかのツールを使用してカスタマイズできます。

  • XML ファイルを変更する任意のテキスト エディターまたは XML エディター。

  • プロセス エディター ツール。
    インストールされている Visual Studio のバージョンに基づいて、次のいずれかの拡張機能からプロセス エディター ツールを取得します。