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