次の方法で共有


ホストされた XML プロセスのカスタマイズ

Azure DevOps Services

Azure DevOps Services では、Web ベースのインポート プロセスである管理エクスペリエンスを通じて、プロセスの追加と更新をサポートしています。 プロセスを追加したら、そこから 1 つまたは複数のプロジェクトを作成できます。 プロセスは、再度インポートすることでいつでも更新できます。 そして、プロセス テンプレートに加えられた変更は、プロセスを使用するすべてのプロジェクトに適用されます。

重要

Hosted XML プロセス モデルでは、プロセス テンプレートの選択した XML 定義ファイルを更新して、作業の追跡をカスタマイズします。 この機能は、 Team Foundation Server Database Import Service を使用してデータが Azure DevOps Services に移行された場合にのみ使用できます。

カスタマイズモデルとプロセス モデルの詳細については、「 作業追跡のカスタマイズ」を参照してください

プロセスは、相互依存ファイルのセットを含む zip ファイルです。 これらのファイルは、Azure DevOps Services の作業項目追跡システムとその他のサブシステムの構成要素を定義します。 一部の構成要素は既存のプロジェクトを更新し、他の構成要素は新しいプロジェクトにのみ適用されます。 文書パーツの完全な一覧については、次の表を参照してください。

プロセスのインポート/更新時に使用されます

新しいプロジェクトを作成するときに使用されます

システムの既定値に置き換えられます

無視

作業項目の追跡

知恵

カテゴリ

プロセスの構成

領域とイテレーション

テスト管理

作業項目

作業項目クエリ

ビルド

Lab Management

バージョン コントロール

Microsoft プロジェクト マッピング

Reports

ポータル (SharePoint 製品)

プロセス インポートでサポートされているプロセス プラグインとオブジェクト

Azure DevOps Services でサポートされているものと、オンプレミスの Team Foundation Server でサポートされているものには違いがあります。 これらの相違点の概要については、「 Process テンプレートのカスタマイズの違い」を参照してください。

プロセスをカスタマイズする方法

プロセスをカスタマイズする場合、明確に定義されたプロセスから始める方が、新しいプロセスを構築するよりも簡単です。

オンプレミスの Team Foundation Server で使用した既存のプロセスを更新する場合は、インポート用のテンプレートに配置された 制約に準拠していることを確認

[設定] > [プロセス] を開く

プロセスの作成、管理、カスタマイズは、[組織の設定] > [プロセス] から行います。

  1. Azure DevOps のロゴを選択して、[プロジェクト] を開きます。 次に、[組織の設定] を選びます。

    [組織の設定] を開く

  2. 次に、[プロセス] を選択します。

    [組織の設定] の [プロセス] ページ

    重要

    [プロセス] が表示されない場合は、TFS-2018 以前のバージョンから作業しています。 [プロセス] ページはサポートされていません。 オンプレミス XML プロセス モデルでサポートされている機能を使う必要があります。

プロセスのエクスポートとインポート

  1. Processes タブで省略記号 (...) を選択し、エクスポートするホスト型 XML プロセスのショートカット メニューを開きます。 ホストされた XML プロセスのみをエクスポートできます。

    [ホストされた XML プロセスのエクスポート] メニュー オプション > [プロセス] ページ

    zip ファイルを保存し、そこからすべてのファイルを抽出します。

  2. ルート ディレクトリにあるProcessTemplate.xml ファイル内のプロセスの名前を変更します。

    既存のプロセスと区別するプロセスに名前を付けます。

    <name>MyCompany Agile Process </name>

    バージョンの種類を変更し、メジャー番号とマイナー番号を変更します。 次の例のように、型に個別の GUID を指定します。

    <version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>

  3. サポートされているカスタマイズ 適用

  4. ルート ディレクトリ内のすべてのファイルとフォルダーの zip ファイルを作成します。

  5. カスタム プロセスの zip ファイルをインポートします

サポートされているカスタマイズ

次のカスタマイズをプロセスに適用できます。

次のセクションでは、システムが課す制限事項を示します。

制限

Azure DevOps Services には、最大 32 個のプロセスをインポートできます。 カスタム プロセスは、次の要約された規則すべてに準拠している必要があります。 そうしないと、インポート時に検証エラー メッセージが表示されることがあります。

プロセス テンプレート

ProcessTemplate.xml ファイルは、 ProcessTemplate XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。

  • 定義されている WIT の数を 64 に制限します
  • Categories.xml定義ファイルが 1 つだけ含まれています
  • ProcessConfiguration.xml定義ファイルを 1 つだけ含む
  • すべてのフィールドと WIT 定義で一意のフレンドリ名を使用します

また、プロセスは次の検証チェックに合格する必要があります。

  • プロセス名は一意であり、最大 155 文字の Unicode 文字が含まれます。
    • 既存のプロセスと同じ名前とバージョン GUID を持つテンプレートによって、そのプロセスが上書きされます。
    • 同じ名前でバージョン GUID が異なるテンプレートでは、エラーが生成されます。
    • プロセス名には、次の特殊文字を含めることはできません: . , ; ' ` : / \ * | ? " & % $ ! + = ( ) [ ] { } < >
      その他の制約については、「 の制限 を参照してください。
  • プロセス フォルダーに.exeファイルが含まれています。 .exe ファイルを含むプロセスをインポートできる場合でも、プロジェクトの作成は失敗します。
  • プロセスの合計サイズは最大 2 GB です。 それ以外の場合、プロジェクトの作成は失敗します。

プロセス構成

ProcessConfiguration.xml定義ファイルは、 ProcessConfiguration XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。

  • すべての TypeFields 要素を指定します。
  • ポートフォリオ バックログは 5 個に制限されています
  • 親のないポートフォリオ バックログが 1 つだけ含まれています
  • 下位ポートフォリオ バックログごとに親ポートフォリオ バックログを 1 つだけ指定します
  • 必要なワークフロー状態からメタステートへのマッピングが含まれており、サポートされていないメタステートは参照されません

カテゴリ

Categories.xml定義ファイルは、 Categories XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。

  • 32 カテゴリに制限されています
  • ProcessConfiguration.xml ファイルで参照されるすべてのカテゴリを定義します

作業項目の種類

WITD要素とその子要素は、WITD XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。

  • 1 つの WIT 内には最大 512 個のフィールドがあり、すべての WIT には 512 個のフィールドがあります。
  • WIT に割り当てられたフレンドリ名と必要な refname 属性は、WIT 定義ファイルのセット内で一意です。
  • 必須の refname 属性値に許可されていない文字が含まれていないか、許可されていない名前空間 System.名前 と Microsoft.名前
  • 参照名には少なくとも 1 つのピリオド (.) が含まれており、他のすべての文字はスペースのない文字です。
  • WITD要素にはFORM要素が含まれています。この要素は、WebLayout 要素を定義し、WebLayout 要素と Control 要素で指定された構文に準拠します

作業項目フィールド

FIELDS 要素とその子要素は、FIELD XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。

  • WIT に割り当てられたフレンドリ名と必要な refname 属性は、WIT 定義ファイルのセット内で一意です。
  • 必須の refname 属性値に許可されていない文字が含まれていないか、許可されていない名前空間 System.名前 と Microsoft.名前
  • 参照名には少なくとも 1 つのピリオド (.) が含まれており、他のすべての文字はスペースのない文字です。

FIELD 要素とその子要素には、GLOBALLIST 要素を含めることができます。

制限事項

  • FIELDS 要素は 512 個のフィールドに制限されます。
  • 作業項目の種類は、64 人のユーザー名フィールドに制限されています。 人物名フィールドは、属性と値 syncnamechanges=trueを持つフィールドです。
  • ALLOWEDVALUES または SUGGESTEDVALUES 要素は、512 LISTITEM 要素に制限されます。
  • フィールドは 1,024 ルールに制限されています。

必須フィールド

ProcessConfiguration.xml ファイルには、次のフィールドが指定されています。

  • プロセス構成バックログを定義するカテゴリ内のすべての WIT について、 type=Team および type=Orderの属性と値に使用するフィールドを指定します。
  • 通常のバックログまたはポートフォリオ バックログを定義するカテゴリ内のすべての WIT について、 type=Effortに使用するフィールドを指定します。
  • TaskBacklog 要素を定義するカテゴリ内のすべての WIT について、次のように指定します。
    • type=RemainingWorkに使用されるフィールド。
    • type=Activityに使用されるフィールド。
    • type=Activityに使用するフィールドのALLOWEDVALUESルール。

ルールの制限

標準の フィールド ルールの制限に加えて次の制限が適用されます。

  • フィールドルール要素では、for属性と属性を指定できません。
  • FIELD 要素には、CANNOTLOSEVALUENOTSAMEASMATCH、および PROHIBITEDVALUES 子ルール要素を含めることはできません。
  • 次のフィールドを除き、System.FIELD 定義名前フィールドにフィールド ルールを含めることはできません。
    • System.Title には、ルール REQUIRED および DEFAULT を含めることができます。
    • System.Description には、REQUIRED および DEFAULT の規則を含めることができます。
    • System.AssignedTo には、ルール REQUIREDDEFAULTALLOWEXISTINGVALUE、および VALIDUSER を含めることができます。
    • System.ChangedBy には、ルール REQUIREDDEFAULTALLOWEXISTINGVALUE、および VALIDUSER を含めることができます。

一貫性のある名前と属性

プロセスまたはプロジェクト コレクション内で、 nametype、および FIELD 要素が定義するその他の属性は、すべての WIT 定義で同じである必要があります。

ID フィールド

ID フィールドは、アカウント、ユーザー、またはグループ名を含めるために使用されるフィールドに対応します。 次のコア システム フィールドは、ID フィールドとしてハードコーディングされています。

  • 割り当て対象 (System.AssignedTo)
  • Authorized As (System.AuthorizedAs)
  • 変更者 (System.ChangedBy)
  • 作成者 (System.CreatedBy)
  • Activated By (Microsoft.VSTS.Common.ActivatedBy)
  • 終了者 (Microsoft.VSTS.Common.ClosedBy)
  • 解決者 (Microsoft.VSTS.Common.ResolvedBy)
カスタム ID フィールドを追加する

属性 syncnamechanges を True に指定すると、文字列フィールドは ID フィールドとして認識されます。

ID フィールドに対する規則の制限

プロセス インポートの現在のリリースでは、 FIELD 定義内で次の規則を指定しないでください。

  • SUGGESTEDVALUES
  • 非識別値を含むルール。
正しい例

ID フィールド内で有効なアカウント名を制限するには、グループ名属性を持つ VALIDUSER 要素を指定します。

    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER group="[PROJECT]\Program Manager Group" />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

プロセスをインポートする前に、プロセスが更新するプロジェクトにグループが作成されていることを確認します。

正しくない例

次の例は、指定されているため無効です。

  • ALLOWEDVALUES 要素。
  • 非識別文字列value="Not Assigned"を指定するDEFAULT要素。
    <FIELD name="Project Manager" refname="Fabrikam.ProgramManager" type="String" reportable="dimension" syncnamechanges="true">
        <ALLOWEXISTINGVALUE />
        <ALLOWEDVALUES>
          <LISTITEM value="[PROJECT]\Program Manager Group" />
          <LISTITEM value="Not Assigned" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="Not Assigned" />
        <VALIDUSER />
        <HELPTEXT>The program manager responsible for signing off on the user story.</HELPTEXT>
    </FIELD>

ワークフロー

WORKFLOW 要素とその子要素は、WORKFLOW XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。

  • 各 WIT を 16 のワークフロー状態に制限します
  • ProcessConfiguration 定義ファイル内のメタ状態にマップされているすべてのワークフロー状態を定義します
  • "提案済み" 状態カテゴリにマップされているすべてのワークフロー状態と、"InProgress" 状態カテゴリにマップされたワークフロー状態の間の遷移を定義します。
  • "InProgress" 状態カテゴリにマップされているすべてのワークフロー状態と、"完了" 状態カテゴリにマップされたワークフロー状態の間の遷移を定義します。

状態カテゴリとマッピングの詳細については、「 ワークフローの状態と状態のカテゴリを参照してください。

グローバル リスト

Hosted XML プロセス モデルの場合、グローバル リストのインポートには次の制限が設定されます。

  • 最大 64 個のグローバル リストがあります。
  • リストごとに最大 1,024 個のアイテムがあります。
  • すべての WIT で指定されたすべてのグローバル リストの中で、合計で約 10,000 個の項目を定義できます。

フォームのレイアウト

FORM要素とその子要素は、FORM XML 要素リファレンスで説明されている構文と規則に準拠している必要があります

Control 要素は、カスタム コントロールを指定できません。 カスタム コントロールはサポートされていません。