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 countOutput verwendet wurde.

Beispiele

Medientypen abrufen

Rufen Sie alle konfigurierten Medientypen ab. Das folgende Beispiel gibt zwei Medientypen zurück:

  • E-Mail-Medientyp;
  • SMS-Medientyp.

Anfrage:

{
    "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.

Anfrage:

{
    "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.

Anfrage:

{
    "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.