mediatype.create

Beschreibung

object mediatype.create(object/array mediaTypes)

Diese Methode ermöglicht es Ihnen, neue Medientypen zu erstellen.

Diese Methode ist nur für den Benutzertyp Super admin verfügbar. Berechtigungen zum Aufrufen der Methode können in den Benutzerrolleneinstellungen widerrufen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Wenn Zustellmethoden im Feature-Flag $ZBX_FEATURE_FLAGS['media_type_denylist'] in der Frontend-Konfigurationsdatei (zabbix.conf.php) angegeben sind, ist der Benutzer nicht berechtigt, die Methode für die entsprechenden Medientypen aufzurufen.

Parameter

(object/array) Zu erstellende Medientypen.

Zusätzlich zu den Standard-Medientyp-Eigenschaften akzeptiert die Methode die folgenden Parameter.

Parameter Type Beschreibung
message_templates array Nachrichtenvorlagen, die für den Medientyp erstellt werden sollen.

Rückgabewerte

(object) Gibt ein Objekt zurück, das die IDs der erstellten Medientypen unter der Eigenschaft mediatypeids enthält. Die Reihenfolge der zurückgegebenen IDs entspricht der Reihenfolge der übergebenen Medientypen.

Beispiele

Erstellen eines E-Mail-Medientyps

Erstellen Sie einen neuen E-Mail-Medientyp mit einem benutzerdefinierten SMTP-Port und Nachrichtenvorlagen.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "0",
        "name": "Email",
        "smtp_server": "mail.example.com",
        "smtp_helo": "example.com",
        "smtp_email": "[email protected]",
        "smtp_port": "587",
        "message_format": "1",
        "message_templates": [
            {
                "eventsource": "0",
                "recovery": "0",
                "subject": "Problem: {EVENT.NAME}",
                "message": "Problem \"{EVENT.NAME}\" auf Host \"{HOST.NAME}\" begann um {EVENT.TIME}."
            },
            {
                "eventsource": "0",
                "recovery": "1",
                "subject": "Behoben in {EVENT.DURATION}: {EVENT.NAME}",
                "message": "Problem \"{EVENT.NAME}\" auf Host \"{HOST.NAME}\" wurde um {EVENT.RECOVERY.TIME} am {EVENT.RECOVERY.DATE} behoben."
            },
            {
                "eventsource": "0",
                "recovery": "2",
                "subject": "Aktualisiertes Problem in {EVENT.AGE}: {EVENT.NAME}",
                "message": "{USER.FULLNAME} hat das Problem \"{EVENT.NAME}\" auf Host \"{HOST.NAME}\" am {EVENT.UPDATE.DATE} um {EVENT.UPDATE.TIME} {EVENT.UPDATE.ACTION}."
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "mediatypeids": [
            "7"
        ]
    },
    "id": 1
}

Erstellen eines Skript-Medientyps

Erstellen Sie einen neuen Skript-Medientyp mit einem benutzerdefinierten Wert für die Anzahl der Versuche und das Intervall zwischen ihnen.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "1",
        "name": "Push-Benachrichtigungen",
        "exec_path": "push-notification.sh",
        "maxattempts": "5",
        "attempt_interval": "11s",
        "parameters": [
            {
                "sortorder": "0",
                "value": "{ALERT.SENDTO}"
            },
            {
                "sortorder": "1",
                "value": "{ALERT.SUBJECT}"
            },
            {
                "sortorder": "2",
                "value": "{ALERT.MESSAGE}"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "mediatypeids": [
            "8"
        ]
    },
    "id": 1
}

Erstellen eines webhook-Medientyps

Erstellen Sie einen neuen webhook-Medientyp.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "mediatype.create",
    "params": {
        "type": "4",
        "name": "Webhook",
        "script": "var Webhook = {\r\n    token: null,\r\n    to: null,\r\n    subject: null,\r\n    message: null,\r\n\r\n    sendMessage: function() {\r\n        // some logic\r\n    }\r\n}",
        "parameters": [
            {
                "name": "Message",
                "value": "{ALERT.MESSAGE}"
            },
            {
                "name": "Subject",
                "value": "{ALERT.SUBJECT}"
            },
            {
                "name": "To",
                "value": "{ALERT.SENDTO}"
            },
            {
                "name": "Token",
                "value": "<Token>"
            }
        ]
    },
    "id": 1
}

Antwort:

{
    "jsonrpc": "2.0",
    "result": {
        "mediatypeids": [
            "9"
        ]
    },
    "id": 1
}

Quelle

CMediaType::create() in ui/include/classes/api/services/CMediaType.php.