integer/array mediatype.get(object parameters)
El método permite recuperar tipos de medios según los parámetros dados.
Este método está disponible para usuarios de cualquier tipo (para usuarios de tipo Usuario desde Zabbix 7.0.6). Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para más información.
(objeto)
Parámetros que definen la salida deseada.
El método admite los siguientes parámetros.
Al solicitar información relacionada con el usuario de los tipos de medios, los usuarios de tipo Admin (desde Zabbix 7.0.4) y los usuarios de tipo Usuario (desde Zabbix 7.0.9) solo pueden recuperar datos sobre su propio usuario. Para un ejemplo, consulte Recuperar tipos de medios como Admin.
Parámetro | Tipo | Descripción |
---|---|---|
mediatypeids | ID/array | Devolver solo los tipos de medios con los IDs dados. |
mediaids | ID/array | Devolver solo los tipos de medios utilizados por los medios dados. |
userids | ID/array | Devolver solo los tipos de medios utilizados por los usuarios dados. |
selectActions | query | Devolver una propiedad actions con las acciones que utilizan el tipo de medio. |
selectMessageTemplates | query | Devolver una propiedad message_templates con un array de mensajes de tipo de medio.Comportamiento del parámetro: - soportado para usuarios de tipo Super admin (desde Zabbix 7.0.4) |
selectUsers | query | Devolver una propiedad users con los usuarios que utilizan el tipo de medio.Consulte user.get para restricciones basadas en el tipo de usuario. |
sortfield | string/array | Ordenar el resultado por las propiedades dadas. Valores posibles: mediatypeid . |
filter | objeto | Devolver solo aquellos resultados que coincidan exactamente con el filtro dado. Acepta un objeto, donde las claves son nombres de propiedades y los valores son un único valor o un array de valores con los que comparar. No admite propiedades de tipo de dato text data type.Posibles propiedades del objeto Tipo de medio para usuarios de tipo Admin (desde Zabbix 7.0.4) y usuarios de tipo Usuario (desde Zabbix 7.0.6): mediatypeid , name , type , status , maxattempts . |
output | query | Propiedades del objeto Tipo de medio que se devolverán. Los usuarios de tipo Admin (desde Zabbix 7.0.4) y los usuarios de tipo Usuario (desde Zabbix 7.0.6) solo pueden recuperar las siguientes propiedades: mediatypeid , name , type , status , maxattempts , description . Para un ejemplo, consulte Recuperar tipos de medios como Admin.Por defecto: extend . |
search | objeto | Devolver resultados que coincidan con el patrón dado (no distingue mayúsculas/minúsculas). Acepta un objeto, donde las claves son nombres de propiedades y los valores son cadenas a buscar. Si no se dan opciones adicionales, esto realizará una búsqueda LIKE "%…%" .Solo admite propiedades de tipo de dato string y text data type.Posibles propiedades del objeto Tipo de medio para usuarios de tipo Admin (desde Zabbix 7.0.4) y usuarios de tipo Usuario (desde Zabbix 7.0.6): name , description . |
countOutput | booleano | Estos parámetros se describen en el comentario de referencia. |
editable | booleano | |
excludeSearch | booleano | |
limit | entero | |
preservekeys | booleano | |
searchByAny | booleano | |
searchWildcardsEnabled | booleano | |
sortorder | string/array | |
startSearch | booleano |
(entero/matriz)
Devuelve:
countOutput
ha sido usado.Recupera todos los tipos de medios configurados. El siguiente ejemplo devuelve dos tipos de medios:
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": [
{
"mediatypeid": "1",
"type": "0",
"name": "Email",
"smtp_server": "mail.example.com",
"smtp_helo": "example.com",
"smtp_email": "[email protected]",
"exec_path": "",
"gsm_modem": "",
"username": "",
"passwd": "",
"status": "0",
"smtp_port": "25",
"smtp_security": "0",
"smtp_verify_peer": "0",
"smtp_verify_host": "0",
"smtp_authentication": "0",
"maxsessions": "1",
"maxattempts": "3",
"attempt_interval": "10s",
"message_format": "0",
"script": "",
"timeout": "30s",
"process_tags": "0",
"show_event_menu": "1",
"event_menu_url": "",
"event_menu_name": "",
"description": "",
"provider": "0",
"message_templates": [
{
"eventsource": "0",
"recovery": "0",
"subject": "Problema: {EVENT.NAME}",
"message": "El problema comenzó a las {EVENT.TIME} el {EVENT.DATE}\r\nNombre del problema: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\nGravedad: {EVENT.SEVERITY}\r\nDatos operativos: {EVENT.OPDATA}\r\nID del problema original: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Resuelto: {EVENT.NAME}",
"message": "El problema se ha resuelto a las {EVENT.RECOVERY.TIME} el {EVENT.RECOVERY.DATE}\r\nNombre del problema: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\nGravedad: {EVENT.SEVERITY}\r\n\r\nID del problema original: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Problema actualizado: {EVENT.NAME}",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema el {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nEl estado actual del problema es {EVENT.STATUS}, reconocido: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Descubrimiento: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Regla de descubrimiento: {DISCOVERY.RULE.NAME}\r\n\r\nIP del dispositivo: {DISCOVERY.DEVICE.IPADDRESS}\r\nDNS del dispositivo: {DISCOVERY.DEVICE.DNS}\r\nEstado del dispositivo: {DISCOVERY.DEVICE.STATUS}\r\nTiempo en funcionamiento del dispositivo: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nNombre del servicio del dispositivo: {DISCOVERY.SERVICE.NAME}\r\nPuerto del servicio del dispositivo: {DISCOVERY.SERVICE.PORT}\r\nEstado del servicio del dispositivo: {DISCOVERY.SERVICE.STATUS}\r\nTiempo en funcionamiento del servicio del dispositivo: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Autorregistro: {HOST.HOST}",
"message": "Nombre del equipo: {HOST.HOST}\r\nIP del equipo: {HOST.IP}\r\nPuerto del agente: {HOST.PORT}"
}
],
"parameters": []
},
{
"mediatypeid": "3",
"type": "2",
"name": "SMS",
"smtp_server": "",
"smtp_helo": "",
"smtp_email": "",
"exec_path": "",
"gsm_modem": "/dev/ttyS0",
"username": "",
"passwd": "",
"status": "0",
"smtp_port": "25",
"smtp_security": "0",
"smtp_verify_peer": "0",
"smtp_verify_host": "0",
"smtp_authentication": "0",
"maxsessions": "1",
"maxattempts": "3",
"attempt_interval": "10s",
"message_format": "1",
"script": "",
"timeout": "30s",
"process_tags": "0",
"show_event_menu": "1",
"event_menu_url": "",
"event_menu_name": "",
"description": "",
"provider": "0",
"message_templates": [
{
"eventsource": "0",
"recovery": "0",
"subject": "",
"message": "{EVENT.SEVERITY}: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "",
"message": "RESUELTO: {EVENT.NAME}\r\nEquipo: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema el {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Descubrimiento: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Autorregistro: {HOST.HOST}\r\nIP del equipo: {HOST.IP}\r\nPuerto del agente: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Como usuario de tipo Admin, recupere todos los tipos de medios que estén habilitados, con los usuarios que utilizan estos tipos de medios. El siguiente ejemplo devuelve dos tipos de medios:
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Respuesta:
{
"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",
"provisioned": "0"
}
]
},
{
"mediatypeid": "3",
"type": "2",
"name": "SMS",
"status": "0",
"description": "",
"maxattempts": "3",
"users": []
}
],
"id": 1
}
El siguiente ejemplo devuelve tres tipos de medios:
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Respuesta:
{
"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() en ui/include/classes/api/services/CMediaType.php.