mediatype.get
Opis
integer/array mediatype.get(object parameters)
Ta metoda umożliwia pobieranie typów mediów zgodnie z podanymi parametrami.
Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji User roles.
Parametry
(object) Parametry definiujące żądane dane wyjściowe.
Metoda obsługuje następujące parametry.
Podczas żądania informacji o typach mediów powiązanych z użytkownikiem, użytkownicy typu Admin i User mogą pobierać dane tylko o własnym użytkowniku. Przykład znajduje się w sekcji Pobieranie typów mediów jako Admin.
| Parametr | Typ | Opis |
|---|---|---|
| mediatypeids | ID/array | Zwracaj tylko typy mediów o podanych ID. |
| mediaids | ID/array | Zwracaj tylko typy mediów używane przez podane media. |
| userids | ID/array | Zwracaj tylko typy mediów używane przez podanych użytkowników. |
| selectActions | query | Zwracaj właściwość actions z akcjami używającymi typu mediów. |
| selectMessageTemplates | query | Zwracaj właściwość message_templates z tablicą komunikatów typu mediów.Zachowanie parametru: - obsługiwane dla użytkowników typu Super admin |
| selectUsers | query | Zwracaj właściwość users z użytkownikami używającymi typu mediów.Ograniczenia zależne od typu użytkownika opisano w user.get. |
| sortfield | string/array | Sortuj wynik według podanych właściwości. Możliwe wartości: mediatypeid. |
| filter | object | Zwracaj tylko te wyniki, które dokładnie odpowiadają podanemu filtrowi. Akceptuje obiekt, w którym klucze są nazwami właściwości, a wartościami są pojedyncza wartość lub tablica wartości do dopasowania. Nie obsługuje właściwości typu danych text data type.Możliwe właściwości obiektu typu mediów dla użytkowników typu Admin i User: mediatypeid, name, type, status, maxattempts. |
| output | query | Właściwości obiektu typu mediów, które mają zostać zwrócone. Użytkownicy typu Admin i User mogą pobierać tylko następujące właściwości: mediatypeid, name, type, status, maxattempts, description. Przykład znajduje się w sekcji Pobieranie typów mediów jako Admin.Domyślnie: extend. |
| search | object | Zwracaj wyniki pasujące do podanego wzorca (bez rozróżniania wielkości liter). Akceptuje obiekt, w którym klucze są nazwami właściwości, a wartościami są ciągi znaków do wyszukania. Jeśli nie podano dodatkowych opcji, zostanie wykonane wyszukiwanie LIKE "%…%".Obsługuje tylko właściwości typu danych string i text data type.Możliwe właściwości obiektu typu mediów dla użytkowników typu Admin i User: name, description. |
| countOutput | boolean | Te parametry opisano w komentarzu referencyjnym. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Zwracane wartości
(integer/array) Zwraca:
- tablicę obiektów;
- liczbę pobranych obiektów, jeśli został użyty parametr
countOutput.
Przykłady
Pobieranie typów mediów
Pobierz wszystkie skonfigurowane typy mediów. Poniższy przykład zwraca dwa typy mediów:
- typ mediów e-mail;
- typ mediów SMS.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"selectMessageTemplates": "extend"
},
"id": 1
}
Odpowiedź:
{
"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 rozpoczął się o {EVENT.TIME} dnia {EVENT.DATE}\r\nNazwa problemu: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nPoziom ważności: {EVENT.SEVERITY}\r\nDane operacyjne: {EVENT.OPDATA}\r\nID oryginalnego problemu: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "1",
"subject": "Rozwiązano: {EVENT.NAME}",
"message": "Problem został rozwiązany o {EVENT.RECOVERY.TIME} dnia {EVENT.RECOVERY.DATE}\r\nNazwa problemu: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\nPoziom ważności: {EVENT.SEVERITY}\r\n\r\nID oryginalnego problemu: {EVENT.ID}\r\n{TRIGGER.URL}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "Zaktualizowany problem: {EVENT.NAME}",
"message": "{USER.FULLNAME} wykonał(a) akcję {EVENT.UPDATE.ACTION} dla problemu dnia {EVENT.UPDATE.DATE} o {EVENT.UPDATE.TIME}.\r\n{EVENT.UPDATE.MESSAGE}\r\n\r\nBieżący stan problemu to {EVENT.STATUS}, potwierdzony: {EVENT.ACK.STATUS}."
},
{
"eventsource": "1",
"recovery": "0",
"subject": "Wykrywanie: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}",
"message": "Reguła wykrywania: {DISCOVERY.RULE.NAME}\r\n\r\nIP urządzenia: {DISCOVERY.DEVICE.IPADDRESS}\r\nDNS urządzenia: {DISCOVERY.DEVICE.DNS}\r\nStan urządzenia: {DISCOVERY.DEVICE.STATUS}\r\nCzas działania urządzenia: {DISCOVERY.DEVICE.UPTIME}\r\n\r\nNazwa usługi urządzenia: {DISCOVERY.SERVICE.NAME}\r\nPort usługi urządzenia: {DISCOVERY.SERVICE.PORT}\r\nStan usługi urządzenia: {DISCOVERY.SERVICE.STATUS}\r\nCzas działania usługi urządzenia: {DISCOVERY.SERVICE.UPTIME}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "Autorejestracja: {HOST.HOST}",
"message": "Nazwa hosta: {HOST.HOST}\r\nIP hosta: {HOST.IP}\r\nPort agenta: {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": "ROZWIĄZANO: {EVENT.NAME}\r\nHost: {HOST.NAME}\r\n{EVENT.DATE} {EVENT.TIME}"
},
{
"eventsource": "0",
"recovery": "2",
"subject": "",
"message": "{USER.FULLNAME} wykonał(a) akcję {EVENT.UPDATE.ACTION} dla problemu dnia {EVENT.UPDATE.DATE} o {EVENT.UPDATE.TIME}"
},
{
"eventsource": "1",
"recovery": "0",
"subject": "",
"message": "Wykrywanie: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
},
{
"eventsource": "2",
"recovery": "0",
"subject": "",
"message": "Autorejestracja: {HOST.HOST}\r\nIP hosta: {HOST.IP}\r\nPort agenta: {HOST.PORT}"
}
],
"parameters": []
}
],
"id": 1
}
Pobieranie typów mediów jako Admin
Jako użytkownik typu Admin pobierz wszystkie typy mediów, które są włączone, wraz z użytkownikami korzystającymi z tych typów mediów. Poniższy przykład zwraca dwa typy mediów:
- typ mediów e-mail z jednym użytkownikiem (tylko własny użytkownik użytkownika typu Admin);
- typ mediów SMS bez użytkowników.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": "extend",
"filter": {
"status": 0
},
"selectUsers": "extend"
},
"id": 1
}
Odpowiedź:
{
"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
}
Pobieranie typów nośników skryptu i webhooka
Poniższy przykład zwraca trzy typy nośników:
- typ nośnika skryptu z parametrami;
- typ nośnika skryptu bez parametrów;
- typ nośnika webhooka z parametrami.
{
"jsonrpc": "2.0",
"method": "mediatype.get",
"params": {
"output": ["mediatypeid", "name", "parameters"],
"filter": {
"type": [1, 4]
}
},
"id": 1
}
Odpowiedź:
{
"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
}
Zobacz także
Źródło
CMediaType::get() w ui/include/classes/api/services/CMediaType.php.