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
在这个示例中,冒号前面的字符串代表要搜索的字段。如果该字符串不匹配 Fields 或 Related Fields 的内容,则对它的处理方式与示例 3 相同(进行字符串搜索)。冒号后面的字符串是您要在 name 属性中搜索的字符串。
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
的搜索会导致 UI 发送一个 ?search=localhost
作为查询参数发送到 API 端点。这是 icontains
搜索名称和描述字段的快捷方式。