mediatype.get
Описание
integer/array mediatype.get(параметры объекта)
Этот метод позволяет получать способы оповещения в соответствии с заданными параметрами.
Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(объект) Параметры задают желаемый вывод.
Этот метод поддерживает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| mediatypeids | строка/массив | Возврат способов оповещения только с заданными ID. |
| mediaids | строка/массив | Возврат только тех способов оповещения, которые используются заданными оповещениями пользователей. |
| userids | строка/массив | Возврат только тех способов оповещения, которые используются заданными пользователями. |
| selectUsers | запрос | Возврат пользователей, которые используют способ оповещения, в свойстве users. |
| sortfield | строка/массив | Сортировка результата в соответствии с заданными свойствами. Возможные значения: mediatypeid. |
| countOutput | логический | Эти параметры являются общими для всех методов get и они описаны в справочных комментариях. |
| editable | логический | |
| excludeSearch | логический | |
| filter | объект | |
| limit | целое число | |
| output | запрос | |
| preservekeys | логический | |
| search | объект | |
| searchByAny | логический | |
| searchWildcardsEnabled | логический | |
| sortorder | строка/массив | |
| startSearch | логический |
Возвращаемые значения
(целое число/массив) Возвращает либо:
- · массив объектов;
- · количество извлеченных объектов, если использовался параметр
countOutput.
Примеры
Получение способов оповещения
Получение всех добавленных способов оповещения.
Запрос:
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "1",
"type": "0",
"description": "Email",
"smtp_server": "mail.company.com",
"smtp_helo": "company.com",
"smtp_email": "[email protected]",
"exec_path": "",
"gsm_modem": "",
"username": "",
"passwd": "",
"status": "0",
"maxsessions": "1",
"maxattempts": "7",
"attempt_interval": "10s"
},
{
"mediatypeid": "2",
"type": "3",
"description": "Jabber",
"smtp_server": "",
"smtp_helo": "",
"smtp_email": "",
"exec_path": "",
"gsm_modem": "",
"username": "[email protected]",
"passwd": "zabbix",
"status": "0",
"maxsessions": "1",
"maxattempts": "7",
"attempt_interval": "10s"
},
{
"mediatypeid": "3",
"type": "2",
"description": "SMS",
"smtp_server": "",
"smtp_helo": "",
"smtp_email": "",
"exec_path": "",
"gsm_modem": "/dev/ttyS0",
"username": "",
"passwd": "",
"status": "0",
"maxsessions": "1",
"maxattempts": "7",
"attempt_interval": "10s"
}
],
"id": 1
}
Retrieving media types as Admin
As an Admin type user, retrieve all media types that are enabled, with users that use these media types. The following example returns two media types:
- email media type with one user (since Zabbix 6.4.19, only Admin type user's own user);
- SMS media type with no users.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "1",
"type": "0",
"name": "Email",
"status": "0",
"description": "",
"maxattempts": "3",
"users": [
{
"userid": "3",
"username": "database-admin",
"name": "John",
"surname": "Doe",
"url": "",
"autologin": "0",
"autologout": "0",
"lang": "default",
"refresh": "30s",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "",
"attempt_clock": "0",
"rows_per_page": "50",
"timezone": "default",
"roleid": "2",
"userdirectoryid": "0",
"ts_provisioned": "0"
}
]
},
{
"mediatypeid": "3",
"type": "2",
"name": "SMS",
"status": "0",
"description": "",
"maxattempts": "3",
"users": []
}
],
"id": 1
}
Retrieve script and webhook media types
The following example returns three media types:
- script media type with parameters;
- script media type without parameters;
- webhook media type with parameters.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "10",
"name": "Script with parameters",
"parameters": [
{
"sortorder": "0",
"value": "{ALERT.SENDTO}"
},
{
"sortorder": "1",
"value": "{EVENT.NAME}"
},
{
"sortorder": "2",
"value": "{ALERT.MESSAGE}"
},
{
"sortorder": "3",
"value": "Zabbix alert"
}
]
},
{
"mediatypeid": "13",
"name": "Script without parameters",
"parameters": []
},
{
"mediatypeid": "11",
"name": "Webhook",
"parameters": [
{
"name": "alert_message",
"value": "{ALERT.MESSAGE}"
},
{
"name": "event_update_message",
"value": "{EVENT.UPDATE.MESSAGE}"
},
{
"name": "host_name",
"value": "{HOST.NAME}"
},
{
"name": "trigger_description",
"value": "{TRIGGER.DESCRIPTION}"
},
{
"name": "trigger_id",
"value": "{TRIGGER.ID}"
},
{
"name": "alert_source",
"value": "Zabbix"
}
]
}
],
"id": 1
}
Смотрите также
Источник
CMediaType::get() в ui/include/classes/api/services/CMediaType.php.