Azure DevOps Services
Azure DevOps では、Web ベースのインポート プロセスである管理エクスペリエンスによる プロセスの追加と更新がサポートされています。 プロセスを追加したら、そこから 1 つまたは複数のプロジェクトを作成できます。 プロセスは、再度インポートすることでいつでも更新できます。 そして、プロセス テンプレートに加えられた変更は、プロセスを使用するすべてのプロジェクトに適用されます。
重要
ホストされた XML プロセス モデルでは、プロセス テンプレートの選択した XML 定義ファイルを更新して、作業の追跡をカスタマイズします。 この機能は、Azure DevOps データ移行ツールを使用してデータが Azure DevOps Services に移行された場合にのみ使用できます。 継承プロセス モデルを使用する場合は、 継承プロセスを作成することで、ユーザー インターフェイスを使用して作業の追跡をカスタマイズできます。 オンプレミスの XML プロセス モデルを使用する場合は、プロセス テンプレートのカスタマイズ、プロセス テンプレートのアップロードまたはダウンロード、プロセス テンプレートのカスタマイズに関するページを参照してください。
カスタマイズモデルとプロセスモデルの詳細については、「 作業追跡のカスタマイズ」を参照してください。
プロセスは、相互依存ファイルのセットを含む zip ファイルです。 これらのファイルは、作業項目追跡システムとその他のサブシステムの構成要素を Azure DevOps で定義します。 一部の構成要素は既存のプロジェクトを更新し、他の構成要素は新しいプロジェクトにのみ適用されます。 構成要素の完全な一覧については、次の表を参照してください。
| プロセスのインポート/更新時に使用されます | 新しいプロジェクトを作成するときに使用されます | システムの既定値に置き換えられます | 無視 |
|---|---|---|---|
| 作業項目の追跡 | 領域とイテレーション | ビルド | Microsoft プロジェクト マッピング |
| 作業項目の種類 (WIT) | テスト管理 | Lab Management | 報告書 |
| カテゴリー | 作業項目 | バージョン コントロール | ポータル (SharePoint 製品) |
| プロセス構成 | 作業項目クエリ |
前提 条件
特定のビジネス要件に合わせて Azure Boards を調整する方法のガイダンスについては、「 Azure Boards の構成とカスタマイズ」を参照してください。
| カテゴリ | 必要条件 |
|---|---|
| 権限 | - プロセスを作成、削除、または編集するには、プロジェクト コレクション管理者グループのメンバー、または特定のコレクション レベルのアクセス許可の作成プロセス、削除プロセス、編集プロセス、または許可に設定された組織からフィールドを削除します。 詳細については、「 継承されたプロセスをカスタマイズする」を参照してください。 - ボードを更新するには: チーム管理者 または プロジェクト管理者 グループのメンバー。 |
| アクセス | - Basic または下位のアクセス権を持っている場合でも、他のユーザーがアクセス許可を付与した場合でもプロセスを変更できます。 - 既存の作業項目の種類を更新および変更するには:プロジェクトのメンバー。 |
| プロジェクト プロセス モデル | - プロジェクトを含むプロジェクト コレクションの 継承プロセス モデル を作成します。 - Azure DevOps Services にデータを移行するには、 Team Foundation Server Database Import Service を使用します。 |
| 知識 | - カスタマイズ モデルとプロセス モデルに関する知識。 |
プロセスをカスタマイズする
プロセスのカスタマイズは、ゼロから作成するのではなく、明確に定義されたプロセスから開始する方が効率的です。
以前に Azure DevOps Server で使用されていた既存のプロセスを更新する場合は、インポート プロセス中に検証エラーが発生しないように、 テンプレートのインポートに必要な制約 に従っていることを確認します。
プロセスのエクスポートとインポート
プロセスをインポートまたはエクスポートするには、次の手順を実行します。
所属組織 (
https://dev.azure.com/{Your_Organization}) にサインインします。
組織設定を選択します。
[ プロセス] を選択します。
重要
[プロセス] が表示されない場合は、[プロセス] ページがサポートされていない以前のバージョンから作業しています。 オンプレミスの XML プロセス モデルでサポートされている機能を使用します。
省略記号 (...) を選択して、エクスポートする Hosted XML プロセスのショートカット メニューを開きます。 ホストされた XML プロセスのみをエクスポートできます。
zip ファイルを保存し、そこからすべてのファイルを抽出します。
ルート ディレクトリにあるProcessTemplate.xml ファイル内のプロセスの名前を変更します。
既存のプロセスと区別するプロセスに名前を付けます。
<name>MyCompany Agile Process </name>バージョンの種類を変更し、メジャー番号とマイナー番号を変更します。 次の例のように、型に個別の GUID を指定します。
<version type="F50EFC58-C2FC-4C66-9814-E395D90778A3" major="1" minor="1"/>ルート ディレクトリ内のすべてのファイルとフォルダーの zip ファイルを作成します。
サポートされるカスタマイズ
次のカスタマイズをプロセスに適用できます。
- WIT の追加、削除、または変更
- フィールドの追加または変更
- 最大 5 つのポートフォリオ バックログを追加する
- プロセス構成の変更
- グローバル リストを追加する
相違点
Azure DevOps Services と Azure DevOps Server では、プロジェクトとプロセスの関連に異なるモデルが使用されます。
- Azure DevOps Server では、プロセス テンプレートはプロジェクトの開始点として機能し、カスタマイズは個々のプロジェクトにスコープされます。
- Azure DevOps Services では、プロセスは複数のプロジェクト間で共有され、カスタマイズのスコープとして機能します。
プロセス テンプレートを定義するための構造と構文はほとんど一貫性があり、Azure DevOps Services 用に設計されたテンプレートと Azure DevOps Server の間にはわずかな違いしかありません。
注
Hosted XML から継承されたモデルへの移行は、Azure DevOps Services でのみサポートされ、Azure DevOps Server ではサポートされません。
Restrictions (制限)
Azure DevOps Services には、最大 32 個のプロセスをインポートできます。 カスタム プロセスは、以下の要約されたルールすべてに準拠している必要があります。 そうしないと、インポート時に検証エラー メッセージが表示されることがあります。
サポートされていないカスタマイズと参照されていないプラグイン ファイル
XML 定義ファイル内の次のオブジェクトを参照すると、インポート時に検証エラーが発生します。
- 作業項目フォームのカスタム コントロール
- カスタム リンクの種類
- グローバル ワークフロー
- チーム フィールドのサポート
- For ルールと Not ルール
- 一致規則のサポート
次のプラグインとその関連ファイルは、プロセスの定義には使用されず、既存のプロジェクトの更新にも使用されません。ただし、新しいプロジェクトを作成するときにオブジェクトまたは成果物を作成するために使用されます。
- 分類
- 作業項目クエリ言語 (WIQL) 構文を使用して定義された作業項目クエリ
- テスト管理
- 作業項目
注
WIQL の長さは 32 K 文字を超えてはなりません。 システムでは、その長さを超えるクエリを作成または実行することはできません。
次のプラグインとそれに関連するファイルは、システムの既定値に置き換えられます。
- ビルド
- グループとアクセス許可
- ラボ
- バージョン コントロール
次のプラグインとそれに関連するファイルは無視されます。
- Microsoft プロジェクト マッピング
- 報告書
- Windows SharePoint Services
カスタム プラグインはサポートされていません。
オブジェクト制限
インポート用のプロセス テンプレートをカスタマイズする場合は、「作業追跡オブジェクトの制限」で指定されているように定義するオブジェクトの数 を制限します。
プロセス テンプレート
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 内には最大 1,024 個のフィールドがあり、すべての WIT には 1,024 個のフィールドがあります。
- WIT に割り当てられたフレンドリ名と必要な
refname属性は、WIT 定義ファイルのセット内で一意です。 - 必須の
refname属性値には、許可されていない文字や、許可されていない名前空間System.NameおよびMicrosoft.Nameが含まれていないこと。 - 参照名には少なくとも 1 つのピリオド (.) が含まれており、他のすべての文字はスペースのない文字です。
-
WITD要素には、FORM要素で指定された構文に準拠するWebLayout要素を定義する要素が含まれています。
作業項目フィールド
FIELDS要素とその子要素は、FIELD XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。
- WIT に割り当てられたフレンドリ名と必要な
refname属性は、WIT 定義ファイルのセット内で一意です。 - 必須の
refname属性値には、許可されていない文字や、許可されていない名前空間System.NameおよびMicrosoft.Nameが含まれていないこと。 - 参照名には少なくとも 1 つのピリオド (.) が含まれており、他のすべての文字はスペースのない文字です。
FIELD要素とその子要素には、GLOBALLIST要素を含めることができます。
制限事項
-
FIELDS要素は 1,024 個のフィールドに制限されています。 - 作業項目の種類は、64 人のユーザー名フィールドに制限されています。 人物名フィールドは、属性と値
syncnamechanges=trueを持つフィールドです。 -
ALLOWEDVALUESまたはSUGGESTEDVALUES要素は、512LISTITEM要素に制限されます。 - フィールドは 1,024 ルールに制限されています。
必須フィールド
| カテゴリ | 指定するフィールド |
|---|---|
| プロセス確定遅延 |
type=Team属性と値に使用されるフィールドtype=Order |
| 通常のバックログかポートフォリオバックログ |
type=Effort に使用されるフィールド |
| TaskBacklog | - type=RemainingWorkに使用されるフィールド - type=Activity- ALLOWEDVALUESに使用されるフィールドのルール - type=Activityに使用されるフィールド |
ルールの制限
| 制限 | 詳細 |
|---|---|
| フィールドルール要素では、for および not 属性を指定できません。 | これらの属性は、フィールド ルール要素では使用できません。 |
FIELD 要素には、子ルール要素 CANNOTLOSEVALUE、 NOTSAMEAS、 MATCH、および PROHIBITEDVALUESを含めることはできません。 |
これらの子ルール要素は、 FIELD 要素内ではサポートされていません。 |
FIELD
System.Nameフィールドの定義には、特定のフィールドを除き、フィールド ルールを含めることはできません。 |
この記事で説明するように、特定のルールを含めることができるのは特定のフィールドだけです。 |
System.Title |
ルールの REQUIRED と DEFAULTを含めることができます。 |
System.Description |
ルールの REQUIRED と DEFAULTを含めることができます。 |
System.AssignedTo |
ルール REQUIRED、 DEFAULT、 ALLOWEXISTINGVALUE、および VALIDUSERを含めることができます。 |
System.ChangedBy |
ルール REQUIRED、 DEFAULT、 ALLOWEXISTINGVALUE、および VALIDUSERを含めることができます。 |
一貫性のある名前と属性
プロセスまたはプロジェクト コレクション内で、name要素が定義するtype、FIELD、およびその他の属性は、すべての WIT 定義で同じである必要があります。
ID フィールド
ID フィールドは、アカウント、ユーザー、またはグループ名を含めるために使用されるフィールドに対応します。 次のコア システム フィールドは、ID フィールドとしてハードコーディングされています。
| フィールド名 | 参照名 |
|---|---|
| 割り当て先ユーザー/グループ | System.AssignedTo |
| 承認ユーザー | System.AuthorizedAs |
| 変更者 | System.ChangedBy |
| 作成者 | System.CreatedBy |
| アクティブ化した人 | Microsoft.AzureDevOps.Common.ActivatedBy |
| 終了者 | Microsoft.AzureDevOps.Common.ClosedBy |
| 解決者 | Microsoft.AzureDevOps.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要素。 - 非同一性文字列
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要素とその子要素は、WORKFLOW XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。 また、次の条件を満たす必要があります。
- 各 WIT を 16 のワークフロー状態に制限します
- ProcessConfiguration.xml定義ファイル内のメタステートに対応するすべてのワークフローの状態を定義します
- "提案済み" 状態カテゴリにマップされているすべてのワークフロー状態と、"InProgress" 状態カテゴリにマップされたワークフロー状態の間の遷移を定義します。
- "InProgress" 状態カテゴリにマップされているすべてのワークフロー状態と、"完了" 状態カテゴリにマップされたワークフロー状態の間の遷移を定義します。
状態カテゴリとマッピングの詳細については、「 ワークフローの状態と状態のカテゴリ」を参照してください。
グローバル リスト
Hosted XML プロセス モデルの場合、グローバル リストのインポートには次の制限が設定されます。
- 最大 64 個のグローバル リストがあります
- リストあたり最大 1,024 個のアイテムがあります
- すべての WIT で指定されたすべてのグローバル リストの合計で約 10,000 個の項目を定義できます
フォームのレイアウト
FORM要素とその子要素は、FORM XML 要素リファレンスで説明されている構文と規則に準拠している必要があります。
Control要素は、カスタム コントロールを指定できません。 カスタム コントロールはサポートされていません。