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