mediatype.create

Apraksts

object mediatype.create(object/array mediaTypes)

Šī metode ļauj izveidot jaunus mediju tipus.

Šī metode ir pieejama tikai lietotāja tipam Super admin. Tiesības izsaukt šo metodi var atsaukt lietotāja lomas iestatījumos. Plašāku informāciju skatiet lietotāju lomās.
Ja piegādes metodes ir norādītas funkciju karogā $ZBX_FEATURE_FLAGS['media_type_denylist'] lietotāja saskarnes konfigurācijas failā (zabbix.conf.php), lietotājam nav atļauts izsaukt šo metodi attiecīgajiem mediju 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.