mediatype.get
Description
integer/array mediatype.get(object parameters)
La méthode permet de récupérer les types de média selon les paramètres fournis.
Cette méthode est disponible pour les utilisateurs de tout type (pour les utilisateurs de type User depuis Zabbix 7.0.6). Les autorisations d'appel de la méthode peuvent être révoquées dans les paramètres des rôles utilisateur. Voir Rôles utilisateur pour plus d'informations.
Paramètres
(object) Paramètres définissant la sortie souhaitée.
La méthode prend en charge les paramètres suivants.
Lors de la demande d'informations liées aux utilisateurs des types de médias, les utilisateurs de type Admin (depuis Zabbix 7.0.4) et de type User (depuis Zabbix 7.0.9) ne peuvent récupérer que les données concernant leur propre utilisateur. Pour un exemple, voir Récupération des types de médias en tant qu'Admin.
| Paramètre | Type | Description |
|---|---|---|
| mediatypeids | ID/array | Ne renvoyer que les types de médias avec les ID donnés. |
| mediaids | ID/array | Ne renvoyer que les types de médias utilisés par les media donnés. |
| userids | ID/array | Ne renvoyer que les types de médias utilisés par les utilisateurs donnés. |
| selectActions | query | Renvoyer une propriété actions avec les actions qui utilisent le type de média. |
| selectMessageTemplates | query | Renvoyer une propriété message_templates avec un tableau de messages du type de média.Comportement du paramètre : - pris en charge pour les utilisateurs de type Super admin (depuis Zabbix 7.0.4) |
| selectUsers | query | Renvoyer une propriété users avec les utilisateurs qui utilisent le type de média.Voir user.get pour les restrictions basées sur le type d'utilisateur. |
| sortfield | string/array | Trier le résultat selon les propriétés données. Valeurs possibles : mediatypeid. |
| filter | object | Ne renvoyer que les résultats qui correspondent exactement au filtre donné. Accepte un objet, où les clés sont des noms de propriétés et les valeurs sont soit une seule valeur, soit un tableau de valeurs à comparer. Ne prend pas en charge les propriétés du type de données text.Propriétés possibles de l'objet type de média pour les utilisateurs de type Admin (depuis Zabbix 7.0.4) et de type User (depuis Zabbix 7.0.6) : mediatypeid, name, type, status, maxattempts. |
| output | query | Propriétés de l'objet type de média à renvoyer. Les utilisateurs de type Admin (depuis Zabbix 7.0.4) et de type User (depuis Zabbix 7.0.6) ne peuvent récupérer que les propriétés suivantes : mediatypeid, name, type, status, maxattempts, description. Pour un exemple, voir Récupération des types de médias en tant qu'Admin.Par défaut : extend. |
| search | object | Renvoyer les résultats correspondant au motif donné (insensible à la casse). Accepte un objet, où les clés sont des noms de propriétés et les valeurs sont des chaînes à rechercher. Si aucune option supplémentaire n'est fournie, cela effectue une recherche LIKE "%…%".Prend en charge uniquement les propriétés des types de données string et text.Propriétés possibles de l'objet type de média pour les utilisateurs de type Admin (depuis Zabbix 7.0.4) et de type User (depuis Zabbix 7.0.6) : name, description. |
| countOutput | boolean | Ces paramètres sont décrits dans le commentaire de référence. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Valeurs retournées
(integer/array) Retourne soit :
- un tableau d'objets ;
- le nombre d'objets récupérés, si le paramètre
countOutputa été utilisé.
Exemples
Récupération des types de média
Récupère tous les types de média configurés. L'exemple suivant renvoie deux types de média :
- type de média email ;
- type de média SMS.
Requête :
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Réponse :
{
"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": "Problem: {EVENT.NAME}",
"message": "Problem started at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\nOperational data: {EVENT.OPDATA}\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Resolved: {EVENT.NAME}",
"message": "Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\n\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Updated problem: {EVENT.NAME}",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nCurrent problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Discovery rule: {DISCOVERY.RULE.NAME}\r\n\r\nDevice IP: {DISCOVERY.DEVICE.IPADDRESS}\r\nDevice DNS: {DISCOVERY.DEVICE.DNS}\r\nDevice status: {DISCOVERY.DEVICE.STATUS}\r\nDevice uptime: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nDevice service name: {DISCOVERY.SERVICE.NAME}\r\nDevice service port: {DISCOVERY.SERVICE.PORT}\r\nDevice service status: {DISCOVERY.SERVICE.STATUS}\r\nDevice service uptime: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Autoregistration: {HOST.HOST}",
"message": "Host name: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {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\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "",
"message": "RESOLVED: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Autoregistration: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Récupération des types de média en tant qu'Admin
En tant qu'utilisateur de type Admin, récupérez tous les types de média activés, avec les utilisateurs qui utilisent ces types de média. L'exemple suivant renvoie deux types de média :
- type de média email avec un utilisateur (depuis Zabbix 7.0.4, uniquement l'utilisateur propre de l'utilisateur de type Admin) ;
- type de média SMS sans utilisateur.
Requête :
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Réponse :
{
"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
}
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
}
Voir également
Source
CMediaType::get() dans ui/include/classes/api/services/CMediaType.php.