作業項目の種類を追加または変更する
Azure DevOps Server 2022 - Azure DevOps Server 2019
プロジェクトには、プロジェクトの作成に使用されるプロセスに基づいて、
手記
Azure DevOps Services または継承されたプロセス モデルを使用するプロジェクト コレクションについては、「作業項目の種類追加および管理する」を参照してください。
既存の作業項目の種類を変更したり、チームの追跡要件またはワークフロー プロセスに基づいてカスタム作業項目の種類を追加したりできます。 作業項目の種類を変更する最も一般的な理由は、フィールドまたはフィールド ルールのセットの追加または変更、ワークフローの変更、作業項目フォームのカスタマイズです。
ユーザー設定フィールドを追加する場合、または既存のフィールドのフィールド ルールまたは属性を変更する場合は、「フィールド を追加または変更する」を参照してください。
ほとんどの作業項目の種類のカスタマイズは作業項目の種類の XML 定義に対して行われますが、その他のカスタマイズは、プロセス構成定義または witadmin コマンド ライン ツールを使用して行われます。
手記
Azure DevOps Services または継承されたプロセス モデルを使用するコレクションについては、「作業項目の種類追加および管理する」を参照してください。
作業項目の種類の定義
ProcessConfiguration の定義
- 作業項目の種類の色 を指定する
- 作業項目の種類アイコンを指定
- ワークフロー状態の色の を指定する
- バックログまたはタスク ボード から作業項目の種類を追加または削除する
- カスタム作業項目の種類をバックログまたはボード に追加する
- ポートフォリオ バックログ を追加する
コマンド ラインの変更
前提 条件
- 作業項目の種類を一覧表示するには、コレクションのプロジェクトに対してプロジェクト レベルの情報を表示するアクセス許可を [許可] に設定します。
- プロセス テンプレートをカスタマイズして作業項目の種類を追加またはカスタマイズするには、Project Collection Administrators グループのメンバーであるか、編集プロセス アクセス許可を 許可に設定します。
管理者として追加するには、「プロジェクトコレクションレベルの権限の変更を参照してください。
作業項目の種類に対する変更は、既存の作業項目にどのように影響しますか?
次の表は、フィールドまたは作業項目の種類の定義を変更するときの既存の作業項目への影響をまとめたものです。
アクション | 既存の作業項目への影響 |
---|---|
作業項目の種類からフィールドを削除する | 削除されたフィールドのデータは、データ ストアに残ります。 ただし、作業項目の種類の定義から削除したため、新しいデータを追加することはできません。 |
フィールドの名前を変更する | 名前が変更されたフィールドのデータは、新しいフレンドリ名の下のデータ ストアに残ります。 |
フィールドを削除する | 削除されたフィールドのデータは、データ ストアから削除されます。 |
作業項目の種類の名前を変更する | すべてのデータは、新しい名前の下にそのまま残ります。 |
作業項目の種類を削除する | 削除された作業項目の種類として作成された作業項目のすべてのデータは、回復の機会なしで完全に削除されます。 |
データ ストアからフィールドを完全に削除する場合は、コマンド ライン ツール
作業項目の種類の定義ファイルをインポートおよびエクスポートする
手記
Hosted XML プロセス モデルを使用する場合は、プロジェクトで使用されるプロセス テンプレートをインポートおよびエクスポートする必要があります。 詳細については、「作業項目追跡 Web フォームをカスタマイズする」を参照してください。
プロジェクトの管理アクセス許可がない場合は、管理アクセス許可を取得してください。
- 「witAdmin: 作業を追跡するためのオブジェクトをカスタマイズおよび管理する」に記載されている手順に従って、コマンド プロンプト ウィンドウを開きます。 例えば:
フィールドを変更または追加する作業項目タイプ定義ファイルをエクスポートします。 作業項目の種類の名前とファイルの名前を指定します。
witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:TypeName /f:"DirectoryPath/FileName.xml"
CollectionURL の例は、
http://MyServer:8080/tfs/TeamProjectCollectionName
です。ファイルを編集します。 詳細については、「XML 要素定義へのインデックス」を参照してください。
定義ファイルをインポートします。
witadmin importwitd /collection:CollectionURL /p:ProjectName /f:"DirectoryPath/FileName.xml"
Web ポータルを開くか、ページを更新して変更を表示します。
の使用の詳細については、「作業項目の種類 インポート、エクスポート、管理する」を参照してください。
作業項目の種類を追加または変更する
カスタム作業項目の種類を追加したり、既存の作業項目の種類を変更したりするには、XML 定義ファイルを定義または変更し、使用するプロセス モデルに基づいてプロジェクト
新しい作業項目タイプを追加する最も簡単な方法は、既存の作業項目タイプをコピーしてから定義ファイルを変更することです。
フィールド、フィールド ルール、ラベル、または空のテキストを追加または変更する
データの追跡に使用するフィールドは、定義ファイルに追加する必要があります。 これは、システム フィールド (参照名が System.で始まるフィールド) 以外のすべてのフィールドに当てはまります。 作業項目の種類の定義に含めるかどうかにかかわらず、すべての作業項目の種類に対してすべてのシステム フィールドが定義されます。 各フィールドの詳細については、「作業項目フィールドのインデックス
フィールドとフィールド ルールを FIELDS セクションに追加します。 作業項目フォームにフィールドを表示するには、そのフィールドを定義の FORM セクションにも追加する必要があります。
たとえば、作業項目 ID をフォームに追加するには、FORM
セクションで次の XML 構文を指定します。
<Control FieldName="System.ID" Type="FieldControl" Label="ID" LabelPosition="Left" />
フィールドの定義の詳細については、「フィールドを追加または変更する」を参照してください。
ワークフローを変更する
[WORKFLOW] 内の [STATES] と [REASONS] のセクションで、[状態] と [理由] のフィールドの選択リスト値を指定します。 作業項目の状態を追跡します。 TRANSITIONS セクションでは、次の図に示すように、状態間の有効な遷移を指定します。 前方遷移と回帰遷移の両方を指定します。
ワークフローを変更して、次の目的を達成します。
- 状態、理由、または遷移を追加または削除する
- 状態、理由、または遷移の変更中に適用するフィールドの値を指定する
- 状態、理由、または遷移の変化に基づいてフィールドの割り当てを自動化するカスタム ACTION を指定します。
ワークフローをカスタマイズするときは、次の 2 つの手順に従います。
作業項目タイプ定義のワークフローを変更します。
新しいワークフローの状態を metastatesにマップするようにプロセス構成を変更します。
この 2 番目の手順は、アジャイル ツール ページに表示される作業項目の種類のワークフローを変更するときに必要です。 これらの作業項目の種類は、要件カテゴリまたはタスク カテゴリのいずれかに属します。
ワークフロー フィールド ルール
フィールド ルールは、状態の変更、理由の指定、またはワークフローの移行中に適用できます。
たとえば、状態が [アクティブ] に設定されているときに EMPTY ルールを追加すると、[終了日] と [終了者] のフィールドは自動的に無効化され、読み取り専用にすることができます。 これは、作業項目を閉じた状態から再アクティブ化する場合に便利です。
<STATE value="Active">
<FIELDS>
. . .
<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
</FIELDS>
</STATE>
ワークフロー フィールド ルールを適用して、次のアクションを実行します。
- フィールドに設定できる値を、CANNOTLOSEVALUE、EMPTY、FROZEN、NOTSAMEAS、READONLY、および REQUIRED を指定して限定します。
- COPYや DEFAULTや SERVERDEFAULT を使用して、フィールドに値をコピーする。
- フィールドを変更できるユーザーを制限する
- MATCH を使用して文字列フィールドにパターン マッチングを適用する
- WHEN、WHENNOT、WHENCHANGED、WHENNOTCHANGED を使用して、他のフィールドの値に基づいて条件付きでルールを適用する
- 特定のユーザーまたはグループに適用するルールを制限します。 ほとんどのルールは、 の
または のどちらかの属性をサポートしており、 ではないことによって、誰にそのルールが適用されるかを明確にします。
ワークフロー フィールド ルールの適用の詳細については、「FIELD (Workflow) 要素リファレンス」および「ルールとルールの評価」を参照してください。
作業項目フォームをカスタマイズする
次の図は、作業項目フォームの最も一般的な要素を強調しています。 タイトル領域とフォーム コントロールを除くすべてのコントロールをカスタマイズできます。 フォームのカスタマイズに使用する要素は、新しいフォームが管理者によって有効になっているかどうか
フォームをカスタマイズして、次の目的を達成できます。
- フィールド を追加または変更する
- フィールド ラベルの を変更する
- フィールドの並べ替え
- グループまたはページの を追加する
- グループ を追加する
- カスタム コントロール、グループ、またはページ を追加する
- 情報テキストまたはハイパーリンクを追加
- HTML テキストを埋め込むか、動的レポートを表示
- リンク コントロール ページの追加
作業項目の種類をバックログまたはタスク ボードに追加または削除する
アジャイル計画ツール (製品バックログ、スプリント バックログ、タスク ボード ページ) には、プロジェクトの作成に使用したプロセス テンプレートに基づいて、特定の作業項目の種類が表示されます。 これらのページに表示する作業項目の種類を追加または削除できます。 たとえば、プロジェクトでスクラム作業項目の種類を使用している場合、製品バックログ項目とバグの両方がバックログ ページに表示されます。 ただし、アジャイル、CMMI、またはその他のプロセス テンプレートを使用してプロジェクトが作成された場合、バックログやタスク ボードにバグは表示されません。
たとえば、製品のバックログ ページからバグを追加できます。
作業項目の種類をバックログまたはタスク ボードに追加または削除する方法については、「作業項目の種類をバックログとボードに追加する」を参照してください。 ポートフォリオ バックログをサポートする新しい作業項目の種類を追加するには、「ポートフォリオ バックログ レベルの追加 を参照してください。
作業項目の種類の色、アイコン、またはワークフロー状態の色を変更する
Web ポータルでは、作業項目がクエリ結果に表示され、アジャイル ツールのバックログページとボード ページに表示されます。 既存の作業項目の種類に関連付けられている色またはアイコンを変更したり、新しい作業項目の種類に使用する色を追加したりするには、プロセス構成を編集
既存の作業項目の種類を変更する
「作業項目を一括移動する」を参照し、プラットフォームに基づいて使用可能な機能の 作業項目の種類を変更します。
作業項目の種類を非アクティブ化または無効化する
特定の作業項目の種類の作成をユーザーのグループに制限する場合は、作業項目の種類 非表示のカテゴリ グループ に追加して、大多数の共同作成者が作成できないようにします。 ユーザーのグループにアクセスを許可する場合は、作業項目フォームを開くテンプレートへのハイパーリンクを作成して、そのリンクを、作業項目フォームを作成してもらいたいチーム メンバーと共有できます。
手記
システム フィールドにルールを適用できないため、ワークフローを制限するフィールド ルールを追加することはできません。
作業項目の種類を削除する
チーム メンバーが特定の作業項目の種類を使用して作業項目を作成できないようにするには、プロジェクトから削除します。 witadmin destroywitd*
を使用すると、その作業項目の種類と作業項目の種類自体を使用して作成されたすべての作業項目が完全に削除されます。 たとえば、チームで "Impediment" を使用していない場合は、Fabrikam Web サイト プロジェクトから "Impediment" というラベルの付いた作業項目の種類を削除できます。
witadmin destroywitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"Impediment"
カテゴリに属する作業項目の種類を削除する場合は、新しい名前を反映するようにプロジェクトのカテゴリ定義を更新する必要があります。 詳細については、「インポート、エクスポート、および管理作業項目の種類 および インポートとエクスポートのカテゴリを参照してください。
作業項目の種類の名前を変更する
既存の作業項目の種類の名前を変更するには、witadmin renamewitd
を使用します。 たとえば、"QoS 項目" というラベルの付いた作業項目の種類の名前を "サービス 契約" に変更できます。
witadmin renamewitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"QoS Item" /new:"Service Agreement"
カテゴリに属する作業項目の種類の名前を変更する場合は、新しい名前を反映するようにプロジェクトのカテゴリ定義を更新する必要があります。 特に、バックログとボード は、カテゴリ定義を更新するまで機能しません。
詳細については、「インポート、エクスポート、および管理作業項目の種類 および インポートとエクスポートのカテゴリを参照してください。
関連記事
この記事では、Hosted XML およびオンプレミス XML プロセス モデルの作業項目の種類を追加およびカスタマイズする方法について説明しました。 継承されたプロセス モデルの作業項目の種類を追加およびカスタマイズする方法については、「プロセスのカスタマイズ」を参照してください。
その他の関連トピックまたはリソース:
- ルールとルールの評価
- 管理タスクのガイド
- ProcessConfiguration XML 要素
- witadmin コマンドライン ツール
- 作業追跡エクスペリエンスの をカスタマイズする
- ボード上のカードをカスタマイズ