mediatype.get

Apraksts

integer/array mediatype.get(object parameters)

Šī metode ļauj izgūt mediju tipus atbilstoši norādītajiem parametriem.

Šī metode ir pieejama jebkura tipa lietotājiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.

Parametri

(object) Parametri, kas nosaka vēlamo izvadi.

Metode atbalsta šādus parametrus.

Pieprasot ar lietotājiem saistītu informāciju par mediju tipiem, Admin un User tipa lietotāji var iegūt datus tikai par savu lietotāju. Piemēru skatiet sadaļā Mediju tipu izgūšana kā Admin.

Parametrs Tips Apraksts
mediatypeids ID/array Atgriezt tikai mediju tipus ar norādītajiem ID.
mediaids ID/array Atgriezt tikai mediju tipus, ko izmanto norādītais medijs.
userids ID/array Atgriezt tikai mediju tipus, ko izmanto norādītie lietotāji.
selectActions query Atgriezt actions īpašību ar darbībām, kas izmanto mediju tipu.
selectMessageTemplates query Atgriezt message_templates īpašību ar mediju tipu ziņojumu masīvu.

Parametra darbība:
- atbalstīts Super admin tipa lietotājiem
selectUsers query Atgriezt users īpašību ar lietotājiem, kas izmanto mediju tipu.

Skatiet user.get par ierobežojumiem atkarībā no lietotāja tipa.
sortfield string/array Kārtot rezultātu pēc norādītajām īpašībām.

Iespējamās vērtības: mediatypeid.
filter object Atgriezt tikai tos rezultātus, kas precīzi atbilst norādītajam filtram.

Pieņem objektu, kur atslēgas ir īpašību nosaukumi, bet vērtības ir vai nu viena vērtība, vai vērtību masīvs, pēc kura veikt atbilstību.

Neatbalsta text datu tipa īpašības.

Iespējamās Mediju tipa objekta īpašības Admin un User tipa lietotājiem: mediatypeid, name, type, status, maxattempts.
output query Atgriežamās Mediju tipa objekta īpašības.

Admin un User tipa lietotāji var iegūt tikai šādas īpašības: mediatypeid, name, type, status, maxattempts, description. Piemēru skatiet sadaļā Mediju tipu izgūšana kā Admin.

Noklusējums: extend.
search object Atgriezt rezultātus, kas atbilst norādītajam paraugam (reģistrnejutīgi).

Pieņem objektu, kur atslēgas ir īpašību nosaukumi, bet vērtības ir virknes, ko meklēt. Ja nav norādītas papildu opcijas, tiks veikta LIKE "%…%" meklēšana.

Atbalsta tikai string un text datu tipa īpašības.

Iespējamās Mediju tipa objekta īpašības Admin un User tipa lietotājiem: name, description.
countOutput boolean Šie parametri ir aprakstīti atsauces komentārā.
editable boolean
excludeSearch boolean
limit integer
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Atgrieztās vērtības

(integer/array) Atgriež vienu no šīm vērtībām:

  • objektu masīvu;
  • izgūto objektu skaitu, ja ir izmantots parametrs countOutput.

Piemēri

Paziņojumu nesēju tipu izgūšana

Izgūst visus konfigurētos paziņojumu nesēju tipus. Tālāk redzamajā piemērā tiek atgriezti divi paziņojumu nesēju tipi:

  • e-pasta paziņojumu nesēja tips;
  • SMS paziņojumu nesēja tips.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "mediatype.get",
    "params": {
        "output": "extend",
        "selectMessageTemplates": "extend"
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "1",
            "type": "0",
            "name": "Email",
            "smtp_server": "mail.example.com",
            "smtp_helo": "example.com",
            "smtp_email": "[email protected]",
            "exec_path": "",
            "gsm_modem": "",
            "username": "",
            "passwd": "",
            "status": "0",
            "smtp_port": "25",
            "smtp_security": "0",
            "smtp_verify_peer": "0",
            "smtp_verify_host": "0",
            "smtp_authentication": "0",
            "maxsessions": "1",
            "maxattempts": "3",
            "attempt_interval": "10s",
            "message_format": "0",
            "script": "",
            "timeout": "30s",
            "process_tags": "0",
            "show_event_menu": "1",
            "event_menu_url": "",
            "event_menu_name": "",
            "description": "",
            "provider": "0",
            "message_templates": [
                {
                    "eventsource": "0",
                    "recovery": "0",
                    "subject": "Problem: {EVENT.NAME}",
                    "message": "Problem started at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\nOperational data: {EVENT.OPDATA}\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
                },
                {
                    "eventsource": "0",
                    "recovery": "1",
                    "subject": "Resolved: {EVENT.NAME}",
                    "message": "Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}\r\nProblem name: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nSeverity: {EVENT.SEVERITY}\r\n\r\nOriginal problem ID: {EVENT.ID}\r\n{TRIGGER.URL}"
                },
                {
                    "eventsource": "0",
                    "recovery": "2",
                    "subject": "Updated problem: {EVENT.NAME}",
                    "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nCurrent problem state is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}."
                },
                {
                    "eventsource": "1",
                    "recovery": "0",
                    "subject": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
                    "message": "Discovery rule: {DISCOVERY.RULE.NAME}\r\n\r\nDevice IP: {DISCOVERY.DEVICE.IPADDRESS}\r\nDevice DNS: {DISCOVERY.DEVICE.DNS}\r\nDevice status: {DISCOVERY.DEVICE.STATUS}\r\nDevice uptime: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nDevice service name: {DISCOVERY.SERVICE.NAME}\r\nDevice service port: {DISCOVERY.SERVICE.PORT}\r\nDevice service status: {DISCOVERY.SERVICE.STATUS}\r\nDevice service uptime: {DISCOVERY.SERVICE.UPTIME}"
                },
                {
                    "eventsource": "2",
                    "recovery": "0",
                    "subject": "Autoregistration: {HOST.HOST}",
                    "message": "Host name: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
                }
            ],
            "parameters": []
        },
        {
            "mediatypeid": "3",
            "type": "2",
            "name": "SMS",
            "smtp_server": "",
            "smtp_helo": "",
            "smtp_email": "",
            "exec_path": "",
            "gsm_modem": "/dev/ttyS0",
            "username": "",
            "passwd": "",
            "status": "0",
            "smtp_port": "25",
            "smtp_security": "0",
            "smtp_verify_peer": "0",
            "smtp_verify_host": "0",
            "smtp_authentication": "0",
            "maxsessions": "1",
            "maxattempts": "3",
            "attempt_interval": "10s",
            "message_format": "1",
            "script": "",
            "timeout": "30s",
            "process_tags": "0",
            "show_event_menu": "1",
            "event_menu_url": "",
            "event_menu_name": "",
            "description": "",
            "provider": "0",
            "message_templates": [
                {
                    "eventsource": "0",
                    "recovery": "0",
                    "subject": "",
                    "message": "{EVENT.SEVERITY}: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                },
                {
                    "eventsource": "0",
                    "recovery": "1",
                    "subject": "",
                    "message": "RESOLVED: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
                },
                {
                    "eventsource": "0",
                    "recovery": "2",
                    "subject": "",
                    "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}"
                },
                {
                    "eventsource": "1",
                    "recovery": "0",
                    "subject": "",
                    "message": "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
                },
                {
                    "eventsource": "2",
                    "recovery": "0",
                    "subject": "",
                    "message": "Autoregistration: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
                }
            ],
            "parameters": []
        }
    ],
    "id": 1
}

Paziņojumu veidu izgūšana kā Admin

Admin tipa lietotājs izgūstiet visus iespējotos paziņojumu veidus kopā ar lietotājiem, kuri izmanto šos paziņojumu veidus. Tālāk redzamajā piemērā tiek atgriezti divi paziņojumu veidi:

  • e-pasta paziņojumu veids ar vienu lietotāju (tikai paša Admin tipa lietotāja konts);
  • SMS paziņojumu veids bez lietotājiem.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "mediatype.get",
    "params": {
        "output": "extend",
        "filter": {
            "status": 0
        },
        "selectUsers": "extend"
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "1",
            "type": "0",
            "name": "Email",
            "status": "0",
            "description": "",
            "maxattempts": "3",
            "users": [
                {
                    "userid": "3",
                    "username": "database-admin",
                    "name": "John",
                    "surname": "Doe",
                    "url": "",
                    "autologin": "0",
                    "autologout": "0",
                    "lang": "default",
                    "refresh": "30s",
                    "theme": "default",
                    "attempt_failed": "0",
                    "attempt_ip": "",
                    "attempt_clock": "0",
                    "rows_per_page": "50",
                    "timezone": "default",
                    "roleid": "2",
                    "provisioned": "0"
                }
            ]
        },
        {
            "mediatypeid": "3",
            "type": "2",
            "name": "SMS",
            "status": "0",
            "description": "",
            "maxattempts": "3",
            "users": []
        }
    ],
    "id": 1
}

Skripta un webhook paziņojumu nesēju tipu izgūšana

Šajā piemērā tiek atgriezti trīs paziņojumu nesēju tipi:

  • skripta paziņojumu nesēja tips ar parametriem;
  • skripta paziņojumu nesēja tips bez parametriem;
  • webhook paziņojumu nesēja tips ar parametriem.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "mediatype.get",
    "params": {
        "output": ["mediatypeid", "name", "parameters"],
        "filter": {
            "type": [1, 4]
        }
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "10",
            "name": "Skripts ar parametriem",
            "parameters": [
                {
                    "sortorder": "0",
                    "value": "{ALERT.SENDTO}"
                },
                {
                    "sortorder": "1",
                    "value": "{EVENT.NAME}"
                },
                {
                    "sortorder": "2",
                    "value": "{ALERT.MESSAGE}"
                },
                {
                    "sortorder": "3",
                    "value": "Zabbix brīdinājums"
                }
            ]
        },
        {
            "mediatypeid": "13",
            "name": "Skripts bez parametriem",
            "parameters": []
        },
        {
            "mediatypeid": "11",
            "name": "Webhook",
            "parameters": [
                {
                    "name": "alert_message",
                    "value": "{ALERT.MESSAGE}"
                },
                {
                    "name": "event_update_message",
                    "value": "{EVENT.UPDATE.MESSAGE}"
                },
                {
                    "name": "host_name",
                    "value": "{HOST.NAME}"
                },
                {
                    "name": "trigger_description",
                    "value": "{TRIGGER.DESCRIPTION}"
                },
                {
                    "name": "trigger_id",
                    "value": "{TRIGGER.ID}"
                },
                {
                    "name": "alert_source",
                    "value": "Zabbix"
                }
            ]
        }
    ],
    "id": 1
}

Skatiet arī

Avots

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