Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

mediatype.create

Description

object mediatype.create(object/array mediaTypes)

Cette méthode permet de créer de nouveaux types de médias.

Cette méthode est seulement disponible pour les utilisateurs du type Super admin. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôle d'utilisateur. Voir Rôles utilisateur pour plus d'informations.

Paramètres

(object/array) Types de media à créer.

En plus des propriétés de type de média standard, la méthode accepte les paramètres suivants.

Paramètre Type Description
parameters array Paramètres Webhook à créer pour le type de media.
message_templates array Modèle de message à créer pour le type de media.

Valeurs retournées

(object) Retourne un objet contenant les identifiants des types de média créées sous la propriété mediatypeids. L'ordre des ID retournés correspond à l'ordre des types de média transmis.

Exemples

Création d'un type de support email

Créez un nouveau type de support email avec un port SMTP personnalisé et des modèles de message.

Requête :

{
           "jsonrpc": "2.0",
           "method": "mediatype.create",
           "params": {
               "type": "0",
               "name": "E-mail",
               "smtp_server": "mail.example.com",
               "smtp_helo": "example.com",
               "smtp_email": "[email protected]",
               "smtp_port": "587",
               "content_type": "1",
               "message_templates": [
                   {
                       "eventsource": "0",
                       "recovery": "0",
                       "subject": "Problem: {EVENT.NAME}",
                       "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" started at {EVENT.TIME}."
                   },
                   {
                       "eventsource": "0",
                       "recovery": "1",
                       "subject": "Resolved in {EVENT.DURATION}: {EVENT.NAME}",
                       "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}."
                   },
                   {
                       "eventsource": "0",
                       "recovery": "2",
                       "subject": "Updated problem in {EVENT.AGE}: {EVENT.NAME}",
                       "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}."
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Création d'un type de média de script

Créez un nouveau type de média de script avec une valeur personnalisée pour le nombre de tentatives et l'intervalle entre elles.

Requête :

{
           "jsonrpc": "2.0",
           "method": "mediatype.create",
           "params": {
               "type": "1",
               "name": "Push notifications",
               "exec_path": "push-notification.sh",
               "exec_params": "{ALERT.SENDTO}\n{ALERT.SUBJECT}\n{ALERT.MESSAGE}\n",
               "maxattempts": "5",
               "attempt_interval": "11s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Création d'un type de média webhook

Créez un nouveau type de média webhook.

Requête :

{
           "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>"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

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

Source

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