mediatype.get
Beschreibung
integer/array mediatype.get(object parameters)
Mit dieser Methode können Medientypen entsprechend den angegebenen Parametern abgerufen werden.
Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Parameter
(object) Parameter, die die gewünschte Ausgabe definieren.
Die Methode unterstützt die folgenden Parameter.
Beim Anfordern benutzerbezogener Informationen von Medientypen können Benutzer des Typs Admin und User Daten nur über ihren eigenen Benutzer abrufen. Ein Beispiel finden Sie unter Abrufen von Medientypen als Admin.
| Parameter | Type | Beschreibung |
|---|---|---|
| mediatypeids | ID/array | Gibt nur Medientypen mit den angegebenen IDs zurück. |
| mediaids | ID/array | Gibt nur Medientypen zurück, die von den angegebenen Medien verwendet werden. |
| userids | ID/array | Gibt nur Medientypen zurück, die von den angegebenen Benutzern verwendet werden. |
| selectActions | query | Gibt eine Eigenschaft actions mit den Aktionen zurück, die den Medientyp verwenden. |
| selectMessageTemplates | query | Gibt eine Eigenschaft message_templates mit einem Array von Medientyp-Nachrichten zurück.Parameterverhalten: - unterstützt für Benutzer des Typs Super admin |
| selectUsers | query | Gibt eine Eigenschaft users mit den Benutzern zurück, die den Medientyp verwenden.Siehe user.get für Einschränkungen je nach Benutzertyp. |
| sortfield | string/array | Sortiert das Ergebnis nach den angegebenen Eigenschaften. Mögliche Werte: mediatypeid. |
| filter | object | Gibt nur die Ergebnisse zurück, die exakt dem angegebenen Filter entsprechen. Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte entweder ein einzelner Wert oder ein Array von Werten sind, mit denen abgeglichen wird. Unterstützt keine Eigenschaften vom Datentyp text.Mögliche Eigenschaften des Media type object für Benutzer des Typs Admin und User: mediatypeid, name, type, status, maxattempts. |
| output | query | Eigenschaften des Media type object, die zurückgegeben werden sollen. Benutzer des Typs Admin und User können nur die folgenden Eigenschaften abrufen: mediatypeid, name, type, status, maxattempts, description. Ein Beispiel finden Sie unter Abrufen von Medientypen als Admin.Standard: extend. |
| search | object | Gibt Ergebnisse zurück, die dem angegebenen Muster entsprechen (Groß-/Kleinschreibung wird nicht beachtet). Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte Zeichenfolgen sind, nach denen gesucht werden soll. Wenn keine zusätzlichen Optionen angegeben sind, wird eine Suche vom Typ LIKE "%…%" durchgeführt.Unterstützt nur Eigenschaften vom Datentyp string und text.Mögliche Eigenschaften des Media type object für Benutzer des Typs Admin und User: name, description. |
| countOutput | boolean | Diese Parameter werden in der Referenzkommentierung beschrieben. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Rückgabewerte
(integer/array) Kann die folgenden Dinge zurück geben:
- ein Array von Objekten;
- die Anzahl der abgerufenen Objekte, wenn der Parameter
countOutputverwendet wurde.
Beispiele
Medientypen abrufen
Rufen Sie alle konfigurierten Medientypen ab. Das folgende Beispiel gibt zwei Medientypen zurück:
- E-Mail-Medientyp;
- SMS-Medientyp.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Antwort:
{
"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 begann um {EVENT.TIME} am {EVENT.DATE}\r\nProblemname: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSchweregrad: {EVENT.SEVERITY}\r\nBetriebsdaten: {EVENT.OPDATA}\r\nUrsprüngliche Problem-ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Gelöst: {EVENT.NAME}",
"message": "Problem wurde um {EVENT.RECOVERY.TIME} am {EVENT.RECOVERY.DATE} gelöst\r\nProblemname: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSchweregrad: {EVENT.SEVERITY}\r\n\r\nUrsprüngliche Problem-ID: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Aktualisiertes Problem: {EVENT.NAME}",
"message": "{USER.FULLNAME} hat das Problem am {EVENT.UPDATE.DATE} um {EVENT.UPDATE.TIME} {EVENT.UPDATE.ACTION}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nDer aktuelle Problemstatus ist {EVENT.STATUS}, bestätigt: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Discovery-Regel: {DISCOVERY.RULE.NAME}\r\n\r\nGeräte-IP: {DISCOVERY.DEVICE.IPADDRESS}\r\nGeräte-DNS: {DISCOVERY.DEVICE.DNS}\r\nGerätestatus: {DISCOVERY.DEVICE.STATUS}\r\nGeräte-Uptime: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nGeräte-Service-Name: {DISCOVERY.SERVICE.NAME}\r\nGeräte-Service-Port: {DISCOVERY.SERVICE.PORT}\r\nGeräte-Service-Status: {DISCOVERY.SERVICE.STATUS}\r\nGeräte-Service-Uptime: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Autoregistrierung: {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": "GELÖST: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} hat das Problem am {EVENT.UPDATE.DATE} um {EVENT.UPDATE.TIME} {EVENT.UPDATE.ACTION}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Autoregistrierung: {HOST.HOST}\r\nHost-IP: {HOST.IP}\r\nAgent-Port: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Medientypen als Admin abrufen
Als Benutzer vom Typ Admin rufen Sie alle aktivierten Medientypen ab, zusammen mit den Benutzern, die diese Medientypen verwenden. Das folgende Beispiel gibt zwei Medientypen zurück:
- E-Mail-Medientyp mit einem Benutzer (nur der eigene Benutzer des Benutzers vom Typ Admin);
- SMS-Medientyp ohne Benutzer.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Antwort:
{
"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
}
Skript- und webhook-Medientypen abrufen
Das folgende Beispiel gibt drei Medientypen zurück:
- Skript-Medientyp mit Parametern;
- Skript-Medientyp ohne Parameter;
- webhook-Medientyp mit Parametern.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Antwort:
{
"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
}
Siehe auch
Quelle
CMediaType::get() in ui/include/classes/api/services/CMediaType.php.