mediatype.create
Descrizione
object mediatype.create(object/array mediaTypes)
Questo metodo consente di creare nuovi tipi di media.
Questo metodo è disponibile solo per l'utente di tipo Super admin.
Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente.
Per ulteriori informazioni, vedere Ruoli utente.
Se i metodi di consegna sono specificati nel flag di funzionalità $ZBX_FEATURE_FLAGS['media_type_denylist'] nel file di configurazione del frontend (zabbix.conf.php), all'utente non è consentito chiamare il metodo per i corrispondenti tipi di media.
Parametri
(object/array) Tipi di supporto da creare.
Oltre alle proprietà standard del tipo di supporto, il metodo accetta i seguenti parametri.
| Parametro | Type | Descrizione |
|---|---|---|
| message_templates | array | Template di messaggio da creare per il tipo di supporto. |
Valori restituiti
(object) Restituisce un oggetto contenente gli ID dei tipi di supporto
creati nella proprietà mediatypeids. L'ordine degli ID restituiti
corrisponde all'ordine dei tipi di supporto passati.
Esempi
Creazione di un tipo di supporto email
Creare un nuovo tipo di supporto email con una porta SMTP personalizzata e modelli di messaggio.
{
"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": "Problema: {EVENT.NAME}",
"message": "Il problema \"{EVENT.NAME}\" sul host \"{HOST.NAME}\" è iniziato alle {EVENT.TIME}."
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Risolto in {EVENT.DURATION}: {EVENT.NAME}",
"message": "Il problema \"{EVENT.NAME}\" sul host \"{HOST.NAME}\" è stato risolto alle {EVENT.RECOVERY.TIME} del {EVENT.RECOVERY.DATE}."
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Problema aggiornato in {EVENT.AGE}: {EVENT.NAME}",
"message": "{USER.FULLNAME} ha {EVENT.UPDATE.ACTION} il problema \"{EVENT.NAME}\" sul host \"{HOST.NAME}\" il {EVENT.UPDATE.DATE} alle {EVENT.UPDATE.TIME}."
}
]
},
"id": 1
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"mediatypeids": [
"7"
]
},
"id": 1
}
Creazione di un tipo di supporto script
Creare un nuovo tipo di supporto script con un valore personalizzato per il numero di tentativi e l'intervallo tra di essi.
{
"jsonrpc": "2.0",
"method": "mediatype.create",
"params": {
"type": "1",
"name": "Push notifications",
"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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"mediatypeids": [
"8"
]
},
"id": 1
}
Creazione di un tipo di supporto webhook
Creare un nuovo tipo di supporto webhook.
{
"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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"mediatypeids": [
"9"
]
},
"id": 1
}
Fonte
CMediaType::create() in ui/include/classes/api/services/CMediaType.php.