mediatype.create

Descripción

object mediatype.create(object/array mediaTypes)

Este método permite crear nuevos tipos de medios.

Este método solo está disponible para el tipo de usuario Super administrador. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Ver Roles de usuario para más información.

Parámetros

(objeto/matriz) Tipos de medios a crear.

Además de las propiedades de tipo de medio estándar, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
parameters array Script o webhook parámetros que se crearán para el tipo de medio.
message_templates array Plantillas de mensajes que se crearán para el tipo de medio.

Valores de retorno

(objeto) Devuelve un objeto que contiene los ID de los tipos de medios creados bajo la propiedad mediatypeids. El orden de las identificaciones devueltas coincide con el orden de los tipos de medios pasados.

Ejemplos

Crear un tipo de medio de correo electrónico

Cree un nuevo tipo de medio de correo electrónico con un puerto SMTP personalizado y una plantilla de mensaje.

Solicitud:

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

Respuesta:

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

Creando un tipo de medio de secuencia de comandos

Cree un nuevo tipo de medio de secuencia de comandos con un valor personalizado para el número de intentos y el intervalo entre ellos.

Solicitud:

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

Respuesta:

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

Creando un tipo de medio webhook

Crea un nuevo tipo de medio webhook.

Solicitud:

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

Respuesta:

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

Fuente

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