mediatype.create
Opis
object mediatype.create(object/array mediaTypes)
Ta metoda umożliwia tworzenie nowych typów mediów.
Ta metoda jest dostępna tylko dla użytkownika typu Super admin. Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.
Parametry
(object/array) Typy mediów do utworzenia.
Oprócz standardowych właściwości typu mediów metoda akceptuje następujące parametry.
| Parametr | Type | Opis |
|---|---|---|
| message_templates | array | Szablony wiadomości, które mają zostać utworzone dla typu mediów. |
Zwracane wartości
(object) Zwraca obiekt zawierający identyfikatory utworzonych typów mediów
we właściwości mediatypeids. Kolejność zwracanych identyfikatorów
odpowiada kolejności przekazanych typów mediów.
Przykłady
Tworzenie typu nośnika e-mail
Utwórz nowy typ nośnika e-mail z niestandardowym portem SMTP i szablonami wiadomości.
{
"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}\" na hoście \"{HOST.NAME}\" rozpoczął się o {EVENT.TIME}."
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Rozwiązano w {EVENT.DURATION}: {EVENT.NAME}",
"message": "Problem \"{EVENT.NAME}\" na hoście \"{HOST.NAME}\" został rozwiązany o {EVENT.RECOVERY.TIME} dnia {EVENT.RECOVERY.DATE}."
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Zaktualizowany problem w {EVENT.AGE}: {EVENT.NAME}",
"message": "{USER.FULLNAME} wykonał(a) akcję {EVENT.UPDATE.ACTION} dla problemu \"{EVENT.NAME}\" na hoście \"{HOST.NAME}\" dnia {EVENT.UPDATE.DATE} o {EVENT.UPDATE.TIME}."
}
]
},
"id": 1
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"mediatypeids": [
"7"
]
},
"id": 1
}
Tworzenie typu nośnika skryptu
Utwórz nowy typ nośnika skryptu z niestandardową wartością liczby prób oraz interwału między nimi.
{
"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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"mediatypeids": [
"8"
]
},
"id": 1
}
Tworzenie typu nośnika webhook
Utwórz nowy typ nośnika 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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"mediatypeids": [
"9"
]
},
"id": 1
}
Źródło
CMediaType::create() w ui/include/classes/api/services/CMediaType.php.