TeamCity 2020.2 ヘルプ

検索

TeamCity をインストールして実行を開始すると、ビルドやテストなどの情報が収集され、インデックスが作成されます。ビルド番号、タグ、ビルド構成名、1 つまたは複数のキーワードを指定するその他のさまざまなパラメーターでビルドを検索できます。ビルドログのテキストやビルド構成の外部 ID でビルドを検索することもできます。

検索クエリ

TeamCity では、Lucene クエリ構文(英語)を使用してビルドを検索できます。ただし、TeamCity 検索クエリには、以下で説明する 2 つの大きな違いがあります。

検索を絞り込んでより正確な結果を得るには、使用可能な検索フィールド(各ビルドのインデックス付きパラメーター)を使用します。使用可能な検索フィールド(キーワード)の完全なリストについては、関連セクションを参照してください。

Lucene 構文との違い

TeamCity で検索クエリを使用する場合、Lucene ネイティブ構文との次の大きな違いに注意してください。

  1. デフォルトでは、TeamCity はクエリで AND 演算子を使用します。つまり、次のクエリ failed @agent123 を入力すると、検索フィールドのいずれかにキーワード failed があり、agent123 という名前のビルドエージェントで実行されたすべてのビルドのリストが取得されます。

  2. デフォルトでは、TeamCity は Lucene のような完全一致ではなく「プレフィックス検索」を使用します。例: c:main を検索すると、TeamCity は、名前が main 文字列で始まるビルド構成のすべてのビルドを検出します。

ファジー検索の実行

また、1 つの単語の末尾にチルダ(~)記号を使用してファジー検索を実行し、同様のスペルのアイテムを検索する可能性もあります。

ブール演算子とワイルドカードのサポート

You can combine multiple terms with Boolean operators to create more complex search queries. In TeamCity, you can use AND+ORNOT- .

ブール演算子を使用する場合は、すべて大文字で入力してください。

  • AND (プラス記号と同じ)。 AND によってリンクされているすべての単語が検索結果に含まれます。この演算子はデフォルトで使用されます。

  • NOT (クエリワードの前のマイナス記号と同じ)。検索結果から単語またはフレーズを除外します。

  • OR 演算子は、検索フィールドで指定した用語のいずれかを含む検索用語を取得できます。

TeamCity は、クエリで * および ? ワイルドカードもサポートしています。検索用語の先頭にアスタリスク(*)を使用することはお勧めしません。TeamCity がデータベースを検索するのにかなりの時間がかかる場合があるためです。例: *onfiguration 検索用語が正しくありません。

利用可能な検索フィールド、ショートカット、キーワードの完全なリスト

検索フィールド

検索キーワードを使用する場合、次のクエリ構文を使用します。

<search field name>:<value to search>

検索フィールド

ショートカット

説明

エージェント

指定されたエージェントで実行されたすべてのビルドを検索します。

agent:unit-77 または agent:agent14*

ビルド

指定された文字列の変更を含むすべてのビルドを検索します。

build:254 または build:failed

buildLog

ビルドログに特定のテキストを含むすべてのビルドを検索します。デフォルトでは無効になっています。

buildLog: "NUnit report"

変更

指定された文字列の変更を含むすべてのビルドを検索します。

changes:(fix test)

コミッター

指定された開発者によってコミットされた変更を含むすべてのビルドを検索します。

committers:ivan_ivanov

構成

c

指定されたビルド構成からすべてのビルドを検索します。

configuration:IPR

c:(Nightly Build)

file_revision

(TeamCity 2017.1 以降、デフォルトではサポートされていません)指定されたリビジョンのファイルを含むすべてのビルドを検索します。

file_revision:5

ファイル

(TeamCity 2017.1 以降、デフォルトではサポートされていません)指定されたファイル名のファイルを含むすべてのビルドを検索します。

files:

ラベル

l

指定された VCS ラベルの変更を含むすべてのビルドを検索します。

labels:EAP

l:release

pin_comment

ピン留めされたすべてのビルドを検索し、ピンコメントに指定された単語(文字列)を含めます。

pin_comment:publish

プロジェクト

p

指定されたプロジェクトからすべてのビルドを検索します。

project:Diana

p:Calcutta

リビジョン

指定されたリビジョンの変更を含むすべてのビルドを検索します(たとえば、Perforce の特定の変更リスト、または Subversion のリビジョン番号を持つビルドを検索できます)。

revision:4536

切手

指定された時間に開始されたすべてのビルドを検索します(タイムスタンプで検索)。

stamp:200811271753

状況

ビルドステータステキストで指定されたテキストを持つすべてのビルドを検索します。

status:"Compilation failed"

タグ

t

指定されたタグを持つすべてのビルドを検索します。

tags:buildserver

t:release

テスト

指定されたテストを含むすべてのビルドを検索します。

tests:

トリガー

指定されたユーザーによってトリガーされたすべてのビルドを検索します。

triggerer:ivan.ivanov

vcs

指定された VCS を持つビルドを検索します。

vcs:perforce

ビルド問題

TeamCity 10.x 以降、指定されたビルド問題を持つビルドを検索

buildProblem:Compilation failed

ショートカット

上記の検索フィールドに加えて、クエリで次のショートカットを使用できます。

ショートカット

説明

#

指定されたビルド番号を検索します。

#<number>、たとえば、#1234

@

指定されたエージェントで実行されたすべてのビルドを検索します。

@<agent's name>、たとえば、@buildAgent1

ダブルコロンの使用

二重コロン記号(::)を使用して、プロジェクトを検索したり、名前で構成をビルドしたりできます。

  • pro::best – search for builds of configurations with the names starting with "best", and in the projects with the names starting with "pro".

  • mega:: – search for builds in all projects with names starting with "mega".

  • ::super – search for builds of build configurations with names starting with "super".

「マジック」キーワード

TeamCity also provides "magic" keywords (see table below for the complete list). These magic keywords are formed with the $ sign and a word itself. The word can be shortened up to one (first) syllable, that is, the $labeled$l$lab keywords will be equal in a query. For example, to search for pinned builds of the "Nightly build" configuration in the "Mega" project you can use any of the following queries:

  • configuration:nightly project:Mega $pinned
  • c:nigh p:mega $pin
  • M::night $pin

マジック言葉

説明

$tagged

タグ付きのビルドを検索します。例: Calcutta::Master $t クエリは、「Calcutta」で始まる名前のプロジェクトから「Master」で始まる名前を持つビルド構成のタグでマークされたすべてのビルドのリストになります。

$pinned

固定ビルドを検索します。

$labeled

VCS でラベル付けされたビルドを検索します。例:メインプロジェクトのラベル付きビルドを見つけるには、次のクエリを使用できます: p:Main $labeledproject:Mai $l、または m:: $lab など。

$commented

コメントされたビルドを検索します。

$personal

個人ビルドを検索します。例:クエリで -$p 式を使用すると、検索結果からすべての個人ビルドが除外されます。

ビルドログで検索

デフォルトでは、TeamCity はビルドログ内の特定のテキストによるビルドを検索しません。

ビルドログによる検索を有効にするには、次を実行します。

  1. ロジックによりサーバーのメモリ使用量が増加するため、-Xmx JVM オプションのメモリサイズを少なくとも 5 Gb(大きなビルドログ / 多数のビルドがある場合はそれ以上)に増やす必要があります。

  2. tc.search.indexBuildLog=true TeamCity 内部プロパティを設定します。

  3. リセット検索インデックス。

インデックスの再作成後、TeamCity はビルドログ内の指定されたテキストで検索を実行でき、関連するビルドを一覧表示します。

検索インデックスのリセット

検索は、ディスクにキャッシュされた「インデックス」を使用します。以前にインデックスに追加されたデータのみが検索可能で、検索結果に表示されます。通常、データの更新(新しいビルドなど)は、インデックスの増分更新のみを引き起こします。これは、何らかのインデックス設定が変更され、ディスク上のキャッシュされたインデックスが同期しなくなった場合、すべてのビルドを再インデックスするためにインデックスをリセットする必要があることを意味します。

キャッシュされた検索インデックスをリセットするには、管理 | サーバー管理 | 診断キャッシュタブの「検索」エントリの reset をクリックするか、サーバーが実行されていないときに <TeamCity データディレクトリ > \ system \ caches \ search からファイルを手動で削除します。その後、インデックスの再作成が開始されます。これはサーバー上でリソースを大量に消費する操作であり、数時間かかる場合があります(ビルドの数と「サイズ」、およびサーバーマシンとデータベースのパフォーマンスによって異なります)。検索ページの UI またはサーバーログで進行状況を監視できます。