integer/array template.get(object parameters)
The method allows to retrieve templates according to the given parameters.
(object) Parameters defining the desired output.
The method supports the following parameters.
| Parameter | Type | Description |
|---|---|---|
| templateids | string/array | Return only templates with the given template IDs. |
| groupids | string/array | Return only templates that belong to the given host groups. |
| parentTemplateids | string/array | Return only templates that are parent to the given templates. |
| hostids | string/array | Return only templates that are linked to the given hosts/templates. |
| graphids | string/array | Return only templates that contain the given graphs. |
| itemids | string/array | Return only templates that contain the given items. |
| triggerids | string/array | Return only templates that contain the given triggers. |
| with_items | flag | Return only templates that have items. |
| with_triggers | flag | Return only templates that have triggers. |
| with_graphs | flag | Return only templates that have graphs. |
| with_httptests | flag | Return only templates that have web scenarios. |
| evaltype | integer | Rules for tag searching. Possible values: 0 - (default) And/Or; 2 - Or. |
| tags | array/object | Return only templates with given tags. Exact match by tag and case-sensitive or case-insensitive search by tag value depending on operator value. Format: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].An empty array returns all templates. Possible operator values: 0 - (default) Contains; 1 - Equals. |
| selectGroups | query | Return the host groups that the template belongs to in the groups property. |
| selectTags | query | Return template tags in the tags property. |
| selectHosts | query | Return the hosts that are linked to the template in the hosts property. Supports count. |
| selectTemplates | query | Return templates to which the template is a child, in the templates property.Supports count. |
| selectParentTemplates | query | Return templates to which the template is a parent, in the parentTemplates property.Supports count. |
| selectHttpTests | query | Return the web scenarios from the template in the httpTests property. Supports count. |
| selectItems | query | Return items from the template in the items property. Supports count. |
| selectDiscoveries | query | Return low-level discoveries from the template in the discoveries property.Supports count. |
| selectTriggers | query | Return triggers from the template in the triggers property. Supports count. |
| selectGraphs | query | Return graphs from the template in the graphs property. Supports count. |
| selectApplications | query | Return applications from the template in the applications property. Supports count. |
| selectMacros | query | Return the macros from the template in the macros property.. |
| selectScreens | query | Return screens from the template in the screens property. Supports count. |
| limitSelects | integer | Limits the number of records returned by subselects. Applies to the following subselects: selectTemplates - results will be sorted by name;selectHosts - sorted by host;selectParentTemplates - sorted by host;selectItems - sorted by name;selectDiscoveries - sorted by name;selectTriggers - sorted by description;selectGraphs - sorted by name;selectApplications - sorted by name;selectScreens - sorted by name. |
| sortfield | string/array | Sort the result by the given properties. Possible values are: hostid, host, name, status. |
| countOutput | boolean | These parameters being common for all get methods are described in detail in the reference commentary. |
| editable | boolean | |
| excludeSearch | boolean | |
| filter | object | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
(integer/array) Returns either:
countOutput parameter has been used.Retrieve all data about two templates named "Template OS Linux" and "Template OS Windows".
Request:
{ "jsonrpc": "2.0", "method": "template.get", "params": { "output": "extend", "filter": { "host": [ "Template OS Linux", "Template OS Windows" ] } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }Response:
{ "jsonrpc": "2.0", "result": [ { "proxy_hostid": "0", "host": "Template OS Linux", "status": "3", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "Template OS Linux", "flags": "0", "templateid": "10001", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "proxy_hostid": "0", "host": "Template OS Windows", "status": "3", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "Template OS Windows", "flags": "0", "templateid": "10081", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" } ], "id": 1 }Retrieve templates that have tag "Host name" equal to "{HOST.NAME}".
Request:
{ "jsonrpc": "2.0", "method": "template.get", "params": { "output": ["hostid"], "selectTags": "extend", "evaltype": 0, "tags": [ { "tag": "Host name", "value": "{HOST.NAME}", "operator": 1 } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }Response:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10402", "tags": [ { "tag": "Host name", "value": "{HOST.NAME}" } ] } ], "id": 1 }CTemplate::get() in ui/include/classes/api/services/CTemplate.php.