This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

usermacro.get

Description

integer/array usermacro.get(object parameters)

The method allows to retrieve host and global macros according to the given parameters.

This method is available to users of any type. Permissions to call the method can be revoked in user role settings. See User roles for more information.

Parameters

(object) Parameters defining the desired output.

The method supports the following parameters.

Parameter Type Description
globalmacro flag Return global macros instead of host macros.
globalmacroids string/array Return only global macros with the given IDs.
groupids string/array Return only host macros that belong to hosts or templates from the given host groups.
hostids string/array Return only macros that belong to the given hosts or templates.
hostmacroids string/array Return only host macros with the given IDs.
inherited boolean If set to true return only host prototype user macros inherited from a template. Supported since Zabbix 5.4.4.
selectGroups query Return host groups that the host macro belongs to in the groups property.

Used only when retrieving host macros.
selectHosts query Return hosts that the host macro belongs to in the hosts property.

Used only when retrieving host macros.
selectTemplates query Return templates that the host macro belongs to in the templates property.

Used only when retrieving host macros.
sortfield string/array Sort the result by the given properties.

Possible value: macro.
countOutput boolean These parameters being common for all get methods are described in detail in the reference commentary page.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Return values

(integer/array) Returns either:

  • an array of objects;
  • the count of retrieved objects, if the countOutput parameter has been used.

Examples

Retrieving host macros for a host

Retrieve all host macros defined for host "10198".

Request:

{
           "jsonrpc": "2.0",
           "method": "usermacro.get",
           "params": {
               "output": "extend",
               "hostids": "10198"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostmacroid": "9",
                   "hostid": "10198",
                   "macro": "{$INTERFACE}",
                   "value": "eth0",
                   "description": "",
                   "type": "0"
               },
               {
                   "hostmacroid": "11",
                   "hostid": "10198",
                   "macro": "{$SNMP_COMMUNITY}",
                   "value": "public",
                   "description": "",
                   "type": "0"
               }
           ],
           "id": 1
       }

Retrieving global macros

Retrieve all global macros.

Request:

{
           "jsonrpc": "2.0",
           "method": "usermacro.get",
           "params": {
               "output": "extend",
               "globalmacro": true
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "globalmacroid": "6",
                   "macro": "{$SNMP_COMMUNITY}",
                   "value": "public",
                   "description": "",
                   "type": "0"
               }
           ],
           "id": 1
       }

Source

CUserMacro::get() in ui/include/classes/api/services/CUserMacro.php.