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

Azure DevOps Services

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

重要

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

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

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

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

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

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

無視

作業項目の追跡

知恵

Categories

[プロセス構成設定]

区分とイテレーション

テスト管理

作業項目

作業項目のクエリ

ビルド

Lab Management

バージョン コントロール

Microsoft Project Mappings

Reports

ポータル (SharePoint 製品)

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

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

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

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

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

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

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

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

    [組織の設定] を開く

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

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

    重要

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

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

  1. [ プロセス ] タブで、省略記号 (...) を選択して、エクスポートするホスト型 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

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

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

作業項目の種類

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

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

作業項目フィールド

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

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

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

制限の制限

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

必須フィールド

ProcessConfiguration.xml ファイルでは、次のフィールドを指定します。

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

ルールの制限

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

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

一貫性のある名前と属性

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

ID フィールド

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

  • 担当者 (System.AssignedTo)
  • 承認方法 (System.AuthorizedAs)
  • 変更者 (System.ChangedBy)
  • 作成者 (System.CreatedBy)
  • Activated By (Microsoft.VSTS.Common.ActivatedBy)
  • クローズ者 (Microsoft.VSTS.Common.ClosedBy)
  • Resolved by (Microsoft.VSTS.Common.ResolvedBy)
カスタム ID フィールドを追加する

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

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

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

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

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 要素。
  • DEFAULT非識別子文字列 value="Not Assigned"を指定する 要素。
    <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 個のグローバル リストがあります。
  • リストごとに最大 512 個のアイテムがあります。
  • すべての WIT で指定されたすべてのグローバル リストの合計で約 10,000 項目を定義できます。

フォームのレイアウト

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

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