検索構文
TeamCity をインストールして実行を開始すると、ビルドやテストなどの情報が収集され、索引化されます。 ビルド番号、タグ、ビルド構成名、1 つまたは複数のキーワードを指定するその他のさまざまなパラメーターでビルドを検索できます。 ビルドログ内のテキストやビルド構成の 外部 ID でビルドを検索することもできます。
デフォルトでは、TeamCity は検索インデックスをローカルに保存しますが、インデックスが Elastic ホストに保存されるように Elasticsearch モード に切り替えることができます。 どちらのモードも、この記事で説明されている Lucene 構文をサポートしています。
検索クエリ
TeamCity では、 Lucene クエリ構文を使用してビルドを検索できます。 デフォルトの Lucene 構文とは大きな違いがあります。デフォルトでは、TeamCity は Lucene のような完全一致ではなく、"プレフィックス検索"を使用します。 たとえば、 c:メイン を検索すると、TeamCity は、お名前が メイン 文字列で始まるビルド構成のすべてのビルドを見つけます。
Lucene と同様に、TeamCity はデフォルトでクエリ内で または 演算子を使用します。二つの用語の間にブール演算子がない場合は、 または が使用されます。 または 演算子は二つの用語を結び付け、これらの用語のいずれかが含まれている場合に一致するエントリを見つけます。
検索を絞り込んでより正確な結果を得るには、使用可能な検索フィールド(各ビルドのインデックス付きパラメーター)を使用します。 使用可能な検索フィールド(キーワード)の完全なリストについては、 関連セクションを参照してください。
あいまい検索の実行
また、1 つの単語の末尾にチルダ(~ )シンボルを使用してファジー検索を実行し、同様のスペルのアイテムを検索する可能性もあります。
ブール演算子とワイルドカードのサポート
複数の用語をブール演算子と組み合わせて、より複雑な検索クエリを作成できます。 TeamCity Search は、 または、 NOT 、および - 演算子をサポートしています。 および 演算子は、同じフィールド(たとえば、 タグ:EAP AND タグ:プロダクション )のスコープでのみ機能します。
ブール演算子を使用する場合は、すべて大文字で入力してください。
または演算子は、検索フィールドで指定した用語のいずれかを含む検索用語をフェッチできます。 この演算子はデフォルトで使用されます。NOT(クエリワードの前の-と同じ)。 検索結果から単語またはフレーズを除外します。
TeamCity はクエリで * および ? ワイルドカードもサポートしています。 TeamCity がデータベースを検索するのにかなりの時間がかかる可能性があるため、検索語の先頭にアスタリスク (*) を使用することはお勧めしません。 例: *onfiguration 検索語が正しくありません。
使用可能な検索フィールド、ショートカット、キーワードの完全な一覧
検索フィールド
検索キーワードを使用する場合、次のクエリ構文を使用します。
検索フィールド | ショートカット | 説明 | サンプル |
|---|---|---|---|
エージェント | 指定されたエージェントで実行されたすべてのビルドを検索します。 |
| |
ビルド | 指定された文字列の変更を含むすべてのビルドを検索します。 |
| |
buildLog | ビルドログに特定のテキストが含まれるすべてのビルドを検索します。 デフォルトでは 無効になっています。 |
| |
変更 | 指定された文字列の変更を含むすべてのビルドを検索します。 |
| |
コミッター | 指定された開発者によってコミットされた変更を含むすべてのビルドを検索します。 |
| |
構成 | c | 指定されたビルド構成からすべてのビルドを検索します。 |
|
ラベル | l | 指定された VCS ラベルの変更を含むすべてのビルドを検索します。 |
|
pin_comment | ピン留めされたすべてのビルドを検索し、ピンコメントに指定された単語(文字列)を含めます。 |
| |
プロジェクト | p | 指定されたプロジェクトからすべてのビルドを検索します。 |
|
リビジョン | 指定されたリビジョンの変更を含むすべてのビルドを検索します(たとえば、Perforce の特定の変更リスト、Subversion のリビジョン番号を持つビルドを検索できます)。 |
| |
切手 | 指定された時間に開始されたすべてのビルドを検索します(タイムスタンプで検索)。 |
| |
状況 | ビルドステータステキストで指定されたテキストを持つすべてのビルドを検索します。 |
| |
タグ | t | 指定されたタグを持つすべてのビルドを検索します。 |
|
テスト | 指定されたテストを含むすべてのビルドを検索します。 |
| |
トリガー | 指定されたユーザーによってトリガーされたすべてのビルドを検索します。 |
| |
vcs | 指定された VCS を持つビルドを検索します。 |
| |
ビルド問題 | 指定されたビルドの問題があるビルドを検索する |
| |
デバッグ | 各検索結果のヒットスコア(関連性)を表示できるようにします。 ビルド検索の問題を診断できます。 |
| |
ヒットスコア | 指定された値よりも低い hitsocre(関連性)の結果を非表示にします。 検索クエリに |
|
ショートカット
上記の検索フィールドに加えて、クエリで次のショートカットを使用できます。
ショートカット | 説明 | サンプル |
|---|---|---|
| 指定されたビルド番号を検索します。 |
|
| 指定されたエージェントで実行されたすべてのビルドを検索します。 |
|
double コロンの使用
二重コロン記号(:: )を使用して、プロジェクトを検索したり、名前で構成をビルドしたりできます。
pro::ベスト—ベストで始まる名前の構成のビルド、およびproで始まる名前のプロジェクトを検索します。mega::—megaで始まる名前のすべてのプロジェクトでビルドを検索します。::super— 名前が「super」で始まるビルド構成のビルドを検索します。
"マジック"キーワード
TeamCity は "マジック" キーワードも提供しています (完全な一覧については下の表を参照してください)。 これらのマジックキーワードは、 $ 記号と単語自体で形成されます。 単語は一 (最初の) 音節まで短縮できます。つまり、 $ラベル付き、 $l 、および $ラボ キーワードはクエリ内で同等になります。 たとえば、"Mega" プロジェクト内の "Nightly build" 構成でピン留めされたビルドを検索するには、次のいずれかのクエリを使用できます:
構成:ナイトリー プロジェクト:Mega $ピン留め済みc:nigh p:mega $ピン留めM::night $ピン留め
マジック言葉 | 説明 |
|---|---|
| タグ付きのビルドを検索します。 例: |
| 固定ビルドを検索します。 |
| VCS でラベル付けされたビルドを検索します。 例: メインプロジェクトのラベル付きビルドを見つけるには、次のクエリを使用できます: |
| コメントされたビルドを検索します。 |
| 個人ビルドを検索します。 例: クエリで |
ビルドログによる検索
デフォルトでは、TeamCity は入力された文字列をビルドログで検索しません。 この機能を有効にするには、次の手順を実行します。
-XmxJVM オプションで サーバーメモリを少なくとも 5 GB 増やします (ビルドログが大きい場合やビルドの数が多い場合はさらに増やします)。tc.search.indexBuildLog=trueTeamCity 内部プロパティ を設定します。検索インデックスを リセットします。
再インデックス後、TeamCity はビルドログ内のテキストを検索し、関連するビルドを表示できるようになります。
検索インデックスのリセット
検索は、ディスクにキャッシュされた「インデックス」を使用します。 以前にインデックスに追加されたデータのみが検索可能で、検索結果に表示されます。 通常、データの更新(新しいビルドなど)は、インデックスの増分更新のみを引き起こします。 これは、何らかのインデックス設定が変更され、ディスク上のキャッシュされたインデックスが同期しなくなった場合、すべてのビルドを再インデックスするためにインデックスをリセットする必要があることを意味します。
キャッシングされた検索インデックスをリセットするには、 管理 | サーバー管理 | 診断 の キャッシング複数形。個々のキャッシュ領域の意なら「キャッシング」だが awkward. Justキャッシング. タブで "search" エントリの リセット をクリックするか、サーバーが実行されていない間に \< TeamCity データディレクトリ \>\system\caches\search からファイルを手動で削除します。 その後、サーバー上でリソースを大量に消費する操作である再インデックスが開始され、数時間かかる場合があります (ビルドの数と "サイズ"、サーバーマシンとデータベースのパフォーマンスによって異なります)。 UI の検索ページまたはサーバーログで進捗を監視できます。