maintenance.get

Description

integer/array maintenance.get(object parameters)

The method allows to retrieve maintenances 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
groupids string/array Return only maintenances that are assigned to the given host groups.
hostids string/array Return only maintenances that are assigned to the given hosts.
maintenanceids string/array Return only maintenances with the given IDs.
selectHostGroups query Return a hostgroups property with host groups assigned to the maintenance.
selectHosts query Return a hosts property with hosts assigned to the maintenance.
selectTags query Return a tags property with problem tags of the maintenance.
selectTimeperiods query Return a timeperiods property with time periods of the maintenance.
sortfield string/array Sort the result by the given properties.

Possible values: maintenanceid, name, maintenance_type.
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
selectGroups
(deprecated)
query This parameter is deprecated, please use selectHostGroups instead.
Return a groups property with host groups assigned to the maintenance.

Return values

(integer/array) Returns either:

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

Examples

Retrieving maintenances

Retrieve all configured maintenances, and the data about the assigned host groups, defined time periods and problem tags.

Request:

{
           "jsonrpc": "2.0",
           "method": "maintenance.get",
           "params": {
               "output": "extend",
               "selectHostGroups": "extend",
               "selectTimeperiods": "extend",
               "selectTags": "extend"
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "maintenanceid": "3",
                   "name": "Sunday maintenance",
                   "maintenance_type": "0",
                   "description": "",
                   "active_since": "1358844540",
                   "active_till": "1390466940",
                   "tags_evaltype": "0",
                   "hostgroups": [
                       {
                           "groupid": "4",
                           "name": "Zabbix servers",
                           "flags": "0",
                           "uuid": "6f6799aa69e844b4b3918f779f2abf08"
                       }
                   ],
                   "timeperiods": [
                       {
                           "timeperiod_type": "3",
                           "every": "1",
                           "month": "0",
                           "dayofweek": "1",
                           "day": "0",
                           "start_time": "64800",
                           "period": "3600",
                           "start_date": "2147483647"
                       }
                   ],
                   "tags": [
                       {
                           "tag": "service",
                           "operator": "0",
                           "value": "mysqld",
                       },
                       {
                           "tag": "error",
                           "operator": "2",
                           "value": ""
                       }
                   ]
               }
           ],
           "id": 1
       }

See also

Source

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