mediatype.get

Опис

integer/array mediatype.get(object parameters)

Метода омогућава преузимање типова медија према датим параметрима.

Овај метод је доступан корисницима било које врсте. Дозволе за позивање методе могу се опозвати у подешавањима улоге корисника. Погледајте Улоге корисника за више информација.

Параметри

(object) Параметри који дефинишу жељени излаз.

Метода подржава следеће параметре.

Када захтевају информације везане за кориснике о типовима медија, корисници типа Admin и User могу да преузму податке само о свом кориснику. На пример, погледајте Преузимање типова медија као Admin.

Parameter Type Description
mediatypeids ID/array Врати само типове медија са датим ID-ијевима.
mediaids ID/array Врати само типове медија које користи дати медији.
userids ID/array Врати само типове медија које користе дати корисници.
selectActions query Врати својство actions са радњама које користе тип медија.
selectMessageTemplates query Врати својство message_templates са низом порука типа медија.

Понашање параметра:
- подржано за кориснике типа Супер администратор
selectUsers query Врати својство users са корисницима који користе тип медија.

Погледајте user.get за ограничења на основу типа корисника.
sortfield string/array Сортира резултат по датим својствима.

Могуће вредности: mediatypeid.
filter object Враћа само оне резултате који се тачно подударају са датим филтером.

Прихвата објекат, где су кључеви имена својстава, а вредности су или једна вредност или низ вредности за упоређивање.

Не подржава својства text тип података.

Могућа својства Објекат типа медија за кориснике типа Admin и User: mediatypeid, name, type, status, maxattempts.
output query Објекат типа медија својства која треба вратити.

Корисници типа Администратор и Корисник могу преузети само следећа својства: mediatypeid, name, type, status, maxattempts, description. За пример, погледајте Преузимање типова медија као Администратор.

Подразумевано: extend.
search object Враћа резултате који одговарају датом обрасцу (без разликовања великих и малих слова).

Прихвата објекат, где су кључеви имена својстава, а вредности су стрингови за претрагу. Ако нису дате додатне опције, ово ће извршити претрагу LIKE "%…%".

Подржава само својства string и text тип података.

Могућа својства објекат типа медија за кориснике типа Admin и User: name, description.
countOutput boolean Ови параметри су описани у коментару референце.
editable boolean
excludeSearch boolean
limit integer
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Повратне вредности

(integer/array) Враћа било:

  • низ објеката;
  • број преузетих објеката, ако је параметар countOutput коришћен.

Примери

Преузимање типова медија

Преузми све конфигурисане типове медија. Следећи пример враћа два типа медија:

  • е-пошта тип медија;
  • СМС тип медија.

Захтев:

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

Одговор:

{
    "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": "",
            "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 status 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": "",
            "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":  Autoregistration: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"}
                {
                    "eventsource": "2",
                    "recovery": "0",
                    "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
}

Преузимање типова медија као Администратор

Као корисник типа Администратор, преузмите све типове медија који су омогућени, са корисницима који користе ове типове медија. Следећи пример враћа два типа медија:

  • тип медија е-пошта са једним корисником (само корисник типа Администратор);
  • тип медија СМС без корисника.

Захтев:

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

Одговор:

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

Преузимање скрипте и вебхук типова медија

Следећи пример враћа три типа медија:

  • тип медија скрипте са параметрима;
  • тип медија скрипте без параметара;
  • тип медија вебхук са параметрима.

Захтев:

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

Одговор:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "mediatypeid": "10",
            "name": "Script with parameters",
            "parameters": [
                {
                    "sortorder": "0",
                    "value": "{ALERT.SENDTO}"
                },
                {
                    "sortorder": "1",
                    "value": "{EVENT.NAME}"
                },
                {
                    "sortorder": "2",
                    "value": "{ALERT.MESSAGE}"
                },
                {
                    "sortorder": "3",
                    "value": "Zabbix alert"
                }
            ]
        },
        {
            "mediatypeid": "13",
            "name": "Script without parameters",
            "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
}

Погледајте такође

Извор

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