The automation controller has a powerful search tool that provides both search and filter capabilities that span across multiple functions. Acceptable search criteria are provided in an expandable "cheat-sheet" accessible from the Advanced option from the Name drop-down menu in the search field. From there, use the combination of Set Type, Key, Lookup type to filter.
これらの検索ヒントは、ホストの検索を対象としていません。このセクションの大半はホストにも適用されますが、相違点が少しあります。通常の検索構文には、フィールド (左側) と値 (右側) が含まれます。コロンは、検索するフィールドと値を区別するために使用します。検索にコロンが含まれない場合には (例 3 参照)、?search=foobar
を送信する単純な文字列検索として処理されます。検索に使用する構文例を以下に示します。
name:localhost
: この例では、コロンの前の文字列は、検索するフィールドを表します。その文字列が フィールド または 関連フィールド のアイテムと一致しない場合には、例 3 (文字列検索) と同じ方法で処理されます。コロンの後ろの文字列は、名前属性内で検索する文字列です。
organization.name:Default
: この例は、関連フィールドの検索です。今回の例では、左側のピリオドは、フィールドとモデルを分割します。検索の複雑性や検索層の深さにより、左側の部分にピリオドを複数使用される場合もあります。
foobar
Simple string (key term) search that will find all instances of that term using an icontains
search against the name and description fields. If a space is used between terms (e.g. foo bar), then any results that contain both terms will be returned. If the terms are wrapped in quotes (e.g. "foo bar"), the controller will search for the entire string with the terms appearing together. Specific name searches will search against the API name. For example, Management job
in the user interface is system_job
in the API.
organization:Default
: この例は、組織で使用できるフィールドを指定しないで、関連フィールドを検索する例です。これは、API によりサポートされ、単純な文字列検索に似ていますが、組織に対して検索がかけられます (名前と説明両方に対して icontains
の検索がかけられます)。
特定のフィールドの値を検索するには、拡張オプションと有効な値の API エンドポイントを参照してください。たとえば、/api/v2/jobs
-> type
フィールドを検索する場合は、/api/v2/jobs
に OPTIONS 要求を実行して値を検索し、API のエントリーに "type"
がないかを特定します。さらに、各画面の下までスクロールして関連の検索を確認できます。/api/v2/jobs
の例では、関連検索は以下を返します。
"related_search_fields": [
"modified_by__search",
"project__search",
"project_update__search",
"credentials__search",
"unified_job_template__search",
"created_by__search",
"inventory__search",
"labels__search",
"schedule__search",
"webhook_credential__search",
"job_template__search",
"job_events__search",
"dependent_jobs__search",
"launch_config__search",
"unifiedjob_ptr__search",
"notifications__search",
"unified_job_node__search",
"instance_group__search",
"hosts__search",
"job_host_summaries__search"
フィールドの値は、GET 要求のキーから取得します。url
、related
および summary_fields
は使用しません。関連フィールドの値は、異なる属性の OPTIONS 応答から取得します。関連フィールドには、related_search_fields
からのすべての値を取得してデータが投入され、末尾の __search
を取り除きます。
フィールドからの値または関連フィールドからの値が文頭にこない検索は、一般的な文字列検索として処理されます。localhost
などの検索は、API エンドポイントに、クエリーパラメーターとして ?search=localhost
を送信する UI が結果として返されます。これは、名前および説明フィールドに対する icontains
検索のショートカットです。
The following are a few things about searching in the controller that you should be aware of:
検索により (AND パラメーターを使用した検索の場合のように) タグの共通部分である結果のサブセットが返されます。現在のところ、 (OR パラメーターを使用した検索のような) 複数パラメーターの結果を返す検索はサポートされていません。
スペースを含む文字列検索に対応するには、検索パラメーターの左側の部分を引用句で括ることができます。
Currently, the values in the Fields are direct attributes expected to be returned in a GET request. Whenever you search against one of the values, the controller essentially does an __icontains
search. So, for example, name:localhost
would send back ?name__icontains=localhost
. The controller currently performs this search for every Field value, even id
, which is not ideal.