作業項目フィールドの管理
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
重要
オンプレミスの XML プロセス モデルでは、witadmin を使用して、プロジェクトのプロセスの一覧表示、インポート、エクスポート、変更を行うことができます。 継承およびホストされた XML プロセス モデルでは、witadmin を使用してプロセス情報の一覧表示とエクスポートのみを行うことができます。 プロセス モデルの概要とサポートされる内容については、「作業追跡エクスペリエンスのカスタマイズ」を参照してください。
次 の witadmin コマンドを使用して、プロジェクト コレクション (オンプレミス XML) に定義されている作業項目の種類に対して定義されたフィールドを管理できます。 グローバル フィールド (オンプレミス XML に対して有効) を追加する場合は、グローバル ワークフロー ファイル を変更して コレクションにインポートします。
changefield
: フィールドの 1 つ以上の属性を変更します。 次のいずれかの属性を変更すると、プロジェクト コレクション内のすべての作業項目の種類とプロジェクトに対して属性が変更されます。フィールドの
PlainText
HTML
データ型。重要
Team Foundation Server を以前のバージョンから現在のバージョンにアップグレードすると、[説明] (System.Description) フィールドの型割り当てが自動的に変換
PlainText
HTML
されます。 このコマンドをchangefield
使用すると、このフィールドの内容を復元してプレーン テキストを表示できます。作業項目クエリに表示されるフレンドリ名 。 この名前は、作業項目フォームに表示される名前とは異なる場合があります。
レポートに表示されるフィールドの名前、参照レポート名、およびレポートの種類を含むレポート属性 。
Active Directory との同期 - ユーザー名フィールドの同期を有効または無効にすることができます。
deletefield
: 指定したフィールドを削除します。listfields
: すべてのフィールドまたは指定したフィールドの属性を一覧表示します。
Note
この witadmin indexfield
コマンドは、Azure DevOps Server 2019 以降のバージョンでは非推奨になりました。 インデックス作成フィールドは不要になりました。
コマンド ライン ツールを実行するwitadmin
コマンド ライン ツールを witadmin
実行するには、Visual Studio がインストールされているコマンド プロンプト ウィンドウを開きます。 コマンド ライン ツールは witadmin
、任意のバージョンの Visual Studio と共にインストールされます。 このツールにアクセスするには、Visual Studio Community または Visual Studio Team エクスプローラーの無料バージョンをインストールします。
Note
Azure DevOps Services に接続するには、最新バージョンの Visual Studio または Visual Studio Community を使用することをお勧めします。
Note
オンプレミス サーバーに接続するには、Azure DevOps Server と同じまたはそれ以降のバージョンの Visual Studio を使用することをお勧めします。 たとえば、Azure DevOps Server 2019 に接続する場合は、Visual Studio 2019 のバージョンからプロジェクトに接続します。
Visual Studio 2022 の場合
%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
またはProfessional
Enterprise
、Community
インストールしたバージョンによって異なります。
Visual Studio 2019 の場合
%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
またはProfessional
Enterprise
、Community
インストールしたバージョンによって異なります。
Visual Studio 2017 の場合
%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
またはTeamExplorer
Professional
、Enterprise
インストールしたバージョンによって異なります。
32 ビット 版の Windows では、%programfiles(x86)% を %programfiles% に置き換えます。 Visual Studio Community (Team エクスプローラー へのアクセスを提供) または Visual Studio Team エクスプローラー 2017 を無料でインストールできます。
既定のプロセス テンプレート内で定義されているフィールドの概要については、「作業項目フィールドのインデックス」を参照してください。
ヒント
witadmin を使用すると、定義ファイルをインポートおよびエクスポートできます。 使用できるその他のツールには、プロセス エディターが含まれます (Visual Studio のバージョンをインストールしている必要があります)。 Visual Studio Marketplace からプロセス テンプレート エディターをインストールします。
前提条件
- フィールドを一覧表示するには、コレクション内のプロジェクトに対するプロジェクト レベルの情報の表示権限が [許可] に設定されている必要があります。
- フィールドを削除または名前変更したり、フィールドの属性を変更したりするには、Team Foundation 管理istrators セキュリティ グループまたは Project Collection 管理istrators セキュリティ グループのメンバーである必要があります。
詳細については、「 プロジェクト コレクション レベルのアクセス許可を変更する」を参照してください。
Note
管理者権限でサインインした場合でも、管理者特権のコマンド プロンプト ウィンドウを開いて、Windows Server 2008 を実行しているサーバーでこの機能を実行する必要があります。 管理者特権のコマンド プロンプト ウィンドウを開くには、[スタート] を選択し、[コマンド プロンプト] ショートカット メニューを開き、[管理リストとして実行] を選択します。 詳細については、「Microsoft Web サイト: ユーザー アクセス制御」を参照してください。
構文
witadmin changefield /collection:CollectionURL /n:RefName [/name:NewName] [/syncnamechanges:true | false] [/reportingname:ReportingName] [/reportingrefname:ReportingRefName] [/reportingtype:Type] [/reportingformula:Formula] [/type:PlainText | HTML] [/noprompt]
witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]
witadmin listfields /collection:CollectionURL /n:RefName [/unused]
Parameters
パラメーター | 説明 |
---|---|
/collection :CollectionURL |
プロジェクト コレクションの URI を指定します。 次に例を示します。 オンプレミスの形式: http://ServerName:Port/VirtualDirectoryName/CollectionName 仮想ディレクトリを使用しない場合は、次の形式 http://ServerName:Port/CollectionName を使用します。 |
/n:RefName /n:Name |
作業項目の種類フィールドの参照名。 |
/index |
指定したフィールドのインデックス作成を有効または無効にすることを指定します。 インデックス作成を有効にする場合は on、インデックス作成を無効にするには off を指定します。 |
/name:NewName |
フィールドの新しい名前を指定します。 |
/syncnamechanges |
作業項目フィールドを使用して名前を格納し、Active Directory またはワークグループで変更が行われると更新するように指定します。 このオプションは、文字列のデータ型を持つフィールドが指定されている場合にのみ有効です。typename データ フィールドの同期を有効にするように指定 true し、データ フィールドの同期を無効にするように指定 false します。 |
/reportingname:ReportingName |
レポートに使用するデータ ウェアハウス内のフィールドの名前を指定します。 |
/reportingrefname:ReportingRefName |
レポートに使用するデータ ウェアハウス内のフィールドの参照名を指定します。 |
/reportingtype:Type |
レポート用に倉庫でフィールドを使用する方法を指定します。 有効な値は、次のとおりです。 - dimension: 整数、文字列、または DateTime フィールドに使用されます。- detail: Integer、Double、String、または DateTime フィールドに使用されます。- measure: [整数] フィールドと [倍精度浮動小数点型] フィールドに使用されます。 既定の集計の種類は合計です。 数式パラメーターを使用して、別の集計の種類を指定できます。- none: フィールドのレポート機能を無効にするために使用されます。詳細については、「作業項目のフィールドと属性について」を参照してください。 |
/reportingformula:Formula |
フィールドがとして報告されるときに使用する集計式を measure 指定します。 サポートされている数式は sum . |
/type:HTML | PlainText |
フィールドの内容の変換元または変換元 PlainText HTML HTML PlainText を指定します。 このオプションは、型の割り当てがPlainText HTML 次のフィールドに対してのみ指定できます。 FIELD (定義) 要素のリファレンスを参照してください。 |
/unused |
プロジェクト コレクションで定義されているプロジェクトで使用されていないすべてのフィールドを一覧表示します。 |
/noprompt |
確認のプロンプトを無効にします。 |
/? または help |
コマンド プロンプト ウィンドウにコマンドに関するヘルプを表示します。 |
Active Directory とのユーザー名の同期
Active Directory を参照するユーザー名の割り当てに使用されるカスタム作業項目フィールドの同期を手動で有効にする必要があります。 ユーザー設定フィールドを含むプロジェクト コレクションごとに、フィールドごとに同期を有効にする必要があります。
人物名を表示するすべてのシステム参照フィールドには、属性 syncnamechanges
が設定 true
されています。 このようなフィールドには、System.AuthorizedAs、System.AssignedTo、System.ChangedBy、System.CreatedBy が含まれます。 既定のプロセス テンプレートのいずれかで定義されている各ユーザー名フィールドの同期が有効になります。 詳細については、「割り当てとワークフローフィールド」を参照してください。
同期が有効になった後、フィールドに静的文字列が表示されなくなります。 代わりに、ユーザー アカウントに関連付けられている名前がフィールドに表示されます。 Active Directory またはワークグループでユーザー名を変更すると、新しい名前が syncnamechanges
自動的に表示されるように true
設定されたフィールドが表示されます。
属性を syncnamechanges
文字列フィールドに割り当てると、フィールドは常に有効なユーザー名を受け入れます。 ただし、次のいずれかの条件がある場合、このフィールドでは Team Foundation Server または Active Directory に格納されるグループ名は true
許可されません。
ルールは
VALIDUSER
、すべての作業項目の種類で指定されますルールは
VALIDUSER
、作業項目の種類に対して指定されますルールは
ALLOWEDVALUES
作業項目の種類に対して指定され、そのルールにはグループを除外するフィルター条件があります詳細については、「すべての FIELD 要素」を参照してください。
作業項目の種類ごとに変更できる属性
フィールドに対して定義されている次の属性または値を変更するには、フィールドが表示される作業項目タイプ定義を変更します。
- 作業項目フォームに表示される名前 。 WebLayout 要素と Control 要素または Control XML 要素のリファレンスを参照してください。
- ヘルプ テキスト。 「ルールとルールの評価」を参照してください。
- 選択リストまたはドロップダウン メニュー内で使用できる値 または項目。 ALLOWEDVALUES、SUGGESTEDVALUES、および PROHIBITEDVALUES XML 要素を参照してください。
例
特に指定がない限り、各例では次の値が適用されます。
- プロジェクト コレクションの URI: http://AdventureWorksServer:8080/tfs/DefaultCollection
- 作業項目フィールド名: AdventureWorks.Field
- 既定のエンコード: UTF-8
フィールドを一覧表示する
使用中のフィールドのセットを表示し、作業項目の種類に追加するフィールドを選択するために使用 witadmin listfields
します。 また、特定のフィールドに対して定義されている属性の割り当てを一覧表示し、どのフィールドがどのプロジェクトで使用されているかを決定することもできます。
作業項目フィールドの属性を表示する
次のコマンドを入力して、指定したフィールドに対して定義されている属性を一覧表示します。次に例を示
Microsoft.VSTS.Common.Issue
します。witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue
次に示すように、指定したフィールドのフィールドおよび属性情報が表示されます。
Field: Microsoft.VSTS.Common.Issue Name: Issue Type: String Reportable As: dimension Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps) Indexed: False
Use パラメーターは、各プロジェクトの名前と、フィールドが使用されている作業項目の種類を示します。 フィールド属性の詳細については、作業項目フィールドのインデックスを参照してください。
プロジェクト コレクション内のすべてのフィールドを一覧表示する
次のコマンドを入力して、プロジェクト コレクションに定義されているすべてのフィールドを一覧表示します。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection
名前付きプロジェクト コレクションのすべてのフィールドのフィールド情報が表示されます。 作業項目フィールドの索引を参照してください。
使用されていないフィールドを一覧表示する
次のコマンドを入力して、プロジェクト コレクションで使用されなくなったフィールドを作業項目の種類別に一覧表示します。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused
この例に示すように、使用されていないフィールドごとにフィールドと属性の情報が表示されます。
Field: Microsoft.VSTS.CMMI.TaskType Name: Task Type Type: String Reportable As: dimension Use: Not In Use Indexed: False Field: Microsoft.VSTSUE.Common.Flag Name: Flag Type: String Reportable As: dimension Use: Not In Use Indexed: False Field: Microsoft.VSTSUE.Common.Progress Name: Progress Type: String Reportable As: dimension Use: Not In Use Indexed: False
フィールドの名前を変更する
チームが使用する名前付け規則を満たすように、作業項目フィールドのフレンドリ名を変更できます。 新しい名前は、プロジェクト コレクション内のすべてのプロジェクトの変更されたフィールドを参照するすべての作業項目の種類に適用されることに注意してください。 作業項目クエリでフィルター条件を定義すると、フレンドリ名が表示されます。 作業項目フォームに表示される名前は、フィールドに定義されているフレンドリ名とは異なる場合があります。
作業項目フィールドの名前を変更するには
次のコマンドを入力して、重要ランクに割り当てられているフレンドリ名の名前を
Microsoft.VSTS.Common.Rank
変更します。witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"
確認プロンプトで「y」と入力し、Enter キーを押します。 次のメッセージが表示されるまで待ちます。
フィールドの名前が変更された。
1 つのプロジェクトにインポートされた変更を確認するには
チーム エクスプローラーで、[最新の情報に更新] を選択します。
最新の更新プログラムは、フィールド名に加えた変更を含むサーバーからダウンロードされます。 更新が完了するまで数秒待ちます。
[新しいクエリ] を選択してクエリを作成します。
クエリ エディターで、[ここをクリックして句を追加する] リンクを選択して行を追加し、空白の [フィールド] セルを選択し、セルに「Rank」と入力します。 結果一覧の上に表示される次のメッセージ。 このメッセージは、Rank が見つからないことを示します。
クエリを実行して、クエリの結果を表示します。 TF51005: クエリは存在しないフィールドを参照します。 エラーの原因は Rank>> です<<。
[フィールド] セルから値 Rank を削除し、セルに「重要なランク」と入力します。
[演算子] セルを選択<>し、[値] セルに「1」と入力します。
[クエリ] ツール バーの [実行] を選択します。
結果の任意の行のショートカット メニューを開き、[列のオプション] を選択 します。 [使用可能な列] の一覧を下にスクロールします。 [ランク] フィールドは存在しなくなったが、重要なランク フィールドが存在していることに注意してください。
[使用可能な列] ボックスで [重要なランク] を選択し、ボタンを選択します (選択した列を>追加します)。 OK を選択します。
クエリ ビルダーと結果一覧全体で、Microsoft.VSTS.Common.Rank のフレンドリ名の名前が Rank から Important Rank に変更されていることに注意してください。
クエリを閉じます。 クエリの保存を求めるメッセージが表示されたら、[いいえ] を選択します。
新しいタスク作業項目を作成します。 [新しい作業項目] リンクを選択し、[タスク] を選択します。
この作業項目は、変更およびインポートした作業項目タイプから作成されます。
[状態] ボックスで、名前が変更されたフィールド Rank のラベルが変更されていないことに注意してください。 これは、作業項目フォームのフィールド ラベルのスコープが親プロジェクトに設定され、指定したサーバー全体のフィールド名に依存しないためです。
Note
作業項目フォームのフィールド ラベルを変更する方法の詳細については、「コントロール XML 要素リファレンス」を参照してください。
作業項目の保存を求められたら、新しいタスクを閉じ、[いいえ] を選択します。
フィールドの値としてレポートを変更する
次のコマンドは、DateTime フィールド AdventureWorks.CreatedOn の種類をディメンションに報告する機能を指定します。 このフィールドのデータは、レポートのフィルター処理に使用できるように、倉庫データベースと Analysis Services データベースに入ります。
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension
次のコマンドは、測定する Double フィールド AdventureWorks.Field の種類を報告する機能を指定します。 すべてのメジャーは合計で集計されます。
witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure
ユーザー設定のユーザー名フィールドの同期を有効にする
次のコマンドは、作業項目フィールド AW の同期を有効にします。AdventureWorksServer の Collection1 に対して定義された CustomerName。
変換するフィールドのデータ型を確認する
次のコマンドを入力して、同期するフィールドに割り当てられているデータ型 (MyCompany.CustomerName など) を確認します。
witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName
同期を有効にする
ユーザー名フィールドの同期を有効にするには、次のコマンドを入力し、次に示す引数のデータを置き換えます。
witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true
次の確認プロンプトが表示されます。
これにより、Team Foundation Server のフィールド {0} のプロパティが変更されます。 Do you want to continue? (続行してもよろしいですか?)
フィールドを変更することを確認するには「0」、要求を取り消すには「1」と入力します。
変更要求が成功すると、次の確認メッセージが表示されます。
フィールドが更新されました。
変更要求が失敗すると、エラー メッセージが表示されます。 最も一般的な間違いは、システム参照フィールドを変更しようとしたり、文字列以外のデータ型のフィールドを変更しようとしたりすることです。 これらの操作はサポートされていません。
フィールドの削除
フィールドを削除する前に、フィールドが使用されていないことを確認します。 フィールドが使用中の場合は、プロジェクト コレクションからフィールドを削除する前に、そのフィールドを使用する作業項目の種類からフィールドを削除する必要があります。 次のコマンドは、Collection1 からフィールドAdventureWorks.Field
を削除します。
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field
フィールドが使用されていないことを確認する
次のコマンドを入力して、作業項目フィールドの参照名を指定します。次に例を
MyCompany.MyProcess.MyField
示します。witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField
このフィールドに表示される情報で、次の例に示すように、[使用] の値が "Not In Use" であることを確認します。
Field: MyCompany.MyProcess.MyField Name: MyField Type: String Reportable As: dimension Use: Not In Use Indexed: False
[使用] フィールドにフィールドが使用中であることが示されている場合は、一覧に表示されている各プロジェクトの作業項目の種類ごとにフィールドを削除する必要があります。 たとえば、この
Microsoft.VSTS.TCM.SystemInfo
フィールドは、4 つのプロジェクト (Arroyo、Desert、Palm、Springs) のバグとコードディフェクトの作業項目の種類で使用されていることを示します。Field: Microsoft.VSTS.TCM.SystemInfo Name: System Info Type: Html Reportable As: None Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect) Indexed: False
このフィールドを削除する前に、定義されている各プロジェクトに一覧表示されている各作業項目の種類からフィールドを削除する必要があります。 フィールドを削除するには、フィールド参照名を含む要素を
Control
削除FIELD
して、作業項目の種類の定義を変更します。 作業項目の種類、FIELD (定義) 要素の参照、およびコントロールのインポート、エクスポート、管理を参照してください。
プロジェクト コレクションからフィールドを削除する
次のコマンドを入力してフィールドを MyCompany.MyProcess.MyField
削除し、Enter キーを押します。
witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName
確認プロンプトに「y」と入力して、この手順を完了します。
関連記事
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示