Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
単一行テキスト (文字列)、複数行テキスト (PlainText)、リッチ テキスト (HTML) フィールドを使用して、キーワード、ID、または空のテキスト フィールドで作業項目をフィルター処理します。 クエリが返されるまでに時間がかかりすぎる場合は、「 クエリの作成」の「ベスト プラクティス」を参照してください。
Prerequisites
Note
パブリック プロジェクトの 利害関係者 アクセスが付与されたユーザーは、 基本 アクセスが付与されたユーザーと同様に、クエリ機能へのフル アクセス権を持っています。 詳細については、「利害関係者アクセスクイック リファレンス」を参照してください。
| Category | Requirements |
|---|---|
| アクセス レベル | - 共有クエリを表示して実行するには、プロジェクト メンバー である必要があります。 - 共有クエリを追加して保存するには: Basic 以上のアクセス レベルが必要です。 |
| Permissions | クエリを追加するフォルダーで [共同作成] アクセス許可が [許可] に設定されていること。 既定では、共同作成者グループにはこのアクセス許可がありません。 |
サポートされている演算子とマクロ
テキスト フィールドとリッチ テキスト フィールドに一覧表示されている演算子とマクロを使用します。
データ型
サポートされている演算子とマクロ
リッチ テキスト (HTML)
複数行テキスト文字列 (PlainText)
Contains Words、Does Not Contain Words、Is Empty1、Is Not Empty1
単一テキスト (文字列)
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever
マクロ: [Any]作業項目の種類] フィールドと [@Project2] フィールドで有効で、[チーム プロジェクト] フィールドで有効です。
ID
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
マクロ: @Follows、@MyRecentActivity、@RecentMentions、@RecentProjectActivity、ID フィールド、In演算子、およびNot In演算子で有効です。
@Project
2。[チーム プロジェクト] フィールドで有効です。
[状態] フィールドおよび [作業項目の種類] フィールド
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever
マクロ: [Any] 両方のフィールドで有効です。
Note
-
Is EmptyおよびIs Not Empty演算子は、Azure DevOps Server 2020 以降のバージョンでサポートされています。 - 既定では、現在のプロジェクトに基づいてフィルター処理が行われます。 詳細については、プロジェクト間でクエリを実行に関するページをご覧ください。
文字列の一致に Contains Words を使用する
文字列の一致をフィルター処理する場合は、Contains WordsよりもContains演算子を使用します。
Contains Words ではフルテキスト インデックスが使用され、通常は高速です。 テキスト文字列は 100 文字に制限されます。
Contains演算子は、テーブル スキャンを実行します。速度が遅くなり、CPU リソースが多くなり、レート制限に影響する可能性があります。
Note
Contains Words演算子は、SQL フルテキスト検索インデックス作成を使用します。 新しい値が長いテキスト フィールドに保存されると、SQL Server は次の操作を行います。
- 語句を単語に分割します。
- 共通のストップ ワード ("a" や "is" など) を削除します。
- 単語を共通の語幹に変換します (たとえば、実行→実行)
- 結果のキーワードをインデックスに格納します
Contains Words使用するクエリではインデックスが検索され、長いテキスト フィールドの結果が高速になります。 詳細およびサーバー/照合順序の要件については、「 クエリ フィールド、演算子、値、変数 - フルテキスト検索と部分ワード検索」を参照してください。
ワイルドカードを使用したキーワードまたは語句のクエリ
ContainsまたはContains Wordsを使用して、単語または語句に部分的または完全に一致する項目を検索します。
ContainsまたはDoes Not Containを選択して、完全一致または部分的一致を検索します。 フルテキスト インデックスとワイルドカード文字Contains Wordsを使用するには、Does Not Contain Wordsまたは*を選択します。
たとえば、Contains Wordsを含むinform*は、inform、information、およびinformationalに一致します。
Tip
AND/OR 句のグループ化方法については、「グループ句」を参照してください。 クエリの WIQL 構文を表示するには、 WIQL クエリ エディター拡張機能をインストールします。これにより、クエリ エディター エントリの WIQL バージョンを確認できます。
他の単語を含まない特定の単語だけのクエリを実行する
Contains WordsとDoes Not Contain Wordsを使用して、正確な単語や語句を含め、他の語句を除外します。 これらの演算子を組み合わせ、ワイルドカード一致に * を使用します。
次の例は、作業 "フェーズ" を含むが、"Phasor" を除外するフィルターを示しています。
Note
WHERE、THEN、ANDなど、特定の予約済み SQL 単語は、Contains WordsまたはDoes Not Contain Wordsでスタンドアロン検索用語として使用した場合、結果を返しません。
未定義フィールド値のクエリ
"equals" 演算子 = を使用し、値を空白のままにして、未定義の (空白の) フィールド値を持つ作業項目を検索します。 たとえば、次のフィルターでは、[アクティビティ] フィールドが空白になっているすべてのタスクが一覧表示されます。
フィールドが空白でない項目を検索するには、"not" 演算子 <> 使用し、値を空白のままにします。
空の HTML フィールドまたは空でない HTML フィールドのクエリ
Is EmptyまたはIs Not EmptyはHTMLフィールドとともに使用して、空または空でないリッチテキストフィールドを持つ作業項目を一覧表示します。 これらの演算子には値を指定しません。
特殊文字のフィルター
URL やフレーズをフィルター処理するときに、 / や - などの特殊文字を円記号でエスケープします。
URL のフィルター:
- クエリ:
Title ~ "https:\/\/example.com\/path-to-resource" - 結果: 正確な URL を持つ作業項目を返します。
- クエリ:
ダッシュを含む語句をフィルターにかける。
- クエリ:
Title ~ "feature-update\-2023" - 結果: ダッシュを含む正確な語句が含まれる作業項目を返します。
- クエリ:
Note
タグが添付されていない作業項目を照会することはできません。 この機能要求をアップ投票するには、「開発者コミュニティ: 空のタグを検索できるようにする」を参照してください。
カテゴリベースのクエリ
カテゴリでフィルター処理するには、 In Group 演算子を使用します。 次の例では、チーム メンバーとバグ カテゴリに割り当てられている現在のプロジェクトの項目が返されます。
要件またはタスクのカテゴリに表示される項目
各プロセスの既定の作業項目の種類の割り当て:
| Process | 要件カテゴリ | タスク カテゴリ |
|---|---|---|
| Basic | Issue | Task |
| Agile | ユーザー ストーリー | Task |
| スクラム | プロダクト バックログ項目、バグ | Task |
| CMMI | Requirement | Task |
Teams では、バグ作業項目の種類が [要件] カテゴリと [タスク] カテゴリのどちらに表示されるかを選択できます。 「バックログとボードにバグを表示する」を参照してください。 カスタム作業項目の種類をバックログに追加するには、「 作業項目の種類を追加または変更する」を参照してください。
フォローしている作業項目のクエリ
必要に応じて、 @Follows マクロと ID フィールドと In 演算子を使用して、フォローする作業項目をプロジェクト間で一覧表示します。
最近の作業項目のアクティビティのクエリ
これらのマクロを使用して、最近のアクティビティに基づいて項目を一覧表示します。
-
@MyRecentActivity: 最近表示または変更したアイテム。 -
@RecentMentions: 過去 30 日間にあなたにとって@mentionを持つアイテム。 -
@RecentProjectActivity: プロジェクトで最近作成または変更されたアイテム。
InまたはNot Inで ID フィールドを使用します。
ほとんどの作業項目の種類に共通のフィールド
次の表では、クエリで使用される一般的なフィールドについて説明します。 ID は作業項目を一意に識別します。 タイトルを使用して、同じ種類の項目を区別します。 説明やその他のリッチ テキスト フィールドでは、詳細な実装情報が提供されます。 作成後、ID を除くすべてのフィールドを変更できます。作業項目の作成時に ID が割り当てられます。
Note
システムは、PlainText、HTML、Titleなど、フルテキスト検索用のDescriptionおよびSteps to Repro型の長いテキスト フィールドのインデックスを作成します。 オンプレミスの Azure DevOps に適用される詳細とサーバー/照合順序の要件については、「 クエリ フィールド、演算子、値、変数 - フルテキスト検索と部分ワード検索」を参照してください。
フィールド名
Description
作業項目の種類
受け入れ基準1
バグまたは製品バックログ項目を閉じる前に満たす必要がある条件の説明。
作業が始まる前に、明確な受け入れ基準を記録して、チームと顧客が期待を共有できるようにします。 受け入れ基準は、受け入れテストを定義し、項目が完了したかどうかを確認するのに役立ちます。
参照名=Microsoft.VSTS.Common.AcceptanceCriteria、データ型=HTML
バグ、エピック、フィーチャー、プロダクト バックログ項目 (スクラム)
説明 1、2
作業項目に関する詳細な情報を提供するには、このフィールドを使います。
参照名=System.Description、データ型=HTML
All
ID
作業項目に割り当てられた一意の識別子。 ID は、プロジェクト コレクション内のプロジェクト間で一意です。
参照名=System.Parent、データ型=Integer
All
再現ステップ (または再現手順) 1
予期しない動作を再現するために必要な手順。 他のユーザーが修正プログラムを再現して検証できるように、十分な詳細をキャプチャします。
参照名=Microsoft.VSTS.TCM.ReproSteps、データ型=HTML
Bug
Resolution
懸案事項がどのように解決されたかを説明します。
参照名=Microsoft.VSTS.Common.Resolution、データ型=HTML
障害 (スクラム)
システム情報1
バグまたはフィードバックに関連するソフトウェアとシステム構成に関する情報。
参照名=Microsoft.VSTS.TCM.SystemInfo、データ型=HTML
バグ、コード レビュー要求、フィードバック要求
チーム プロジェクト
作業項目を所有するプロジェクト。 このフィールドをクエリに追加して、1 つ以上のプロジェクトでフィルター処理します。 詳細については、「 プロジェクト間のクエリ」を参照してください。
参照名=System.TeamProject、データ型=String
All
Title
作業項目を要約し、チーム メンバーが他のユーザーと区別するのに役立つ簡単な説明。
参照名=System.Title、データ型=String
All
作業項目の種類
作業項目の種類名。プロジェクトの作成時に使用されるプロセスによって定義されます。 詳しくは、「プロセスとプロセス テンプレートについて」と「作業項目の種類の追加または変更」をご覧ください。
カテゴリの割り当てでフィルター処理するには、 In Group 演算子と Not In Group 演算子を使用し、ドロップダウンからカテゴリを選択します。
参照名=System.WorkItemType、データ型=String
All
関連コンテンツ
REST API
プログラムでクエリを操作するには、次の REST API リソースのいずれかを参照してください。