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.

Żądanie:

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

Żądanie:

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

Żądanie:

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