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.
(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. |
(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.
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 :
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 :
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 :
CMediaType::create() dans ui/include/classes/api/services/CMediaType.php.