mediatype.create

Apraksts

object mediatype.create(object/array mediaTypes)

Šī metode ļauj izveidot jaunus multivides tipus.

Šī metode ir pieejama tikai lietotāja tipam Super admin. Atļaujas izsaukt šo metodi var atsaukt lietotāju lomu iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.
Ja $ZBX_FEATURE_FLAGS['media_type_denylist'] funkcionalitātes karogā lietotāja saskarnes konfigurācijas failā ir norādītas piegādes metodes, lietotājam nav atļauts izsaukt šo metodi attiecīgajiem multivides tipiem.

Parametri

(object/array) Izveidojamie mediju tipi.

Papildus standarta mediju tipu īpašībām metode pieņem šādus parametrus.

Parametrs Type Apraksts
message_templates array Ziņojumu veidnes, kas jāizveido mediju tipam.

Atgrieztās vērtības

(object) Atgriež objektu, kas satur izveidoto mediju tipu ID īpašumā mediatypeids. Atgriezto ID secība atbilst nodoto mediju tipu secībai.

Piemēri

E-pasta medija tipa izveide

Izveidojiet jaunu e-pasta medija tipu ar pielāgotu SMTP portu un ziņojumu veidnēm.

Pieprasījums:

{
    "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": "Problēma: {EVENT.NAME}",
                "message": "Problēma \"{EVENT.NAME}\" hostā \"{HOST.NAME}\" sākās {EVENT.TIME}."
            },
            {
                "eventsource": "0",
                "recovery": "1",
                "subject": "Atrisināts {EVENT.DURATION}: {EVENT.NAME}",
                "message": "Problēma \"{EVENT.NAME}\" hostā \"{HOST.NAME}\" tika atrisināta {EVENT.RECOVERY.TIME} {EVENT.RECOVERY.DATE}."
            },
            {
                "eventsource": "0",
                "recovery": "2",
                "subject": "Atjaunināta problēma {EVENT.AGE}: {EVENT.NAME}",
                "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problēmu \"{EVENT.NAME}\" hostā \"{HOST.NAME}\" {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}."
            }
        ]
    },
    "id": 1
}

Atbilde:

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

Skripta mediju tipa izveide

Izveidojiet jaunu skripta mediju tipu ar pielāgotu vērtību mēģinājumu skaitam un intervālam starp tiem.

Pieprasījums:

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

Atbilde:

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

Webhook paziņojumu veida izveide

Izveidojiet jaunu webhook paziņojumu veidu.

Pieprasījums:

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

Atbilde:

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

Avots

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