Powiadomienia¶
Pobieranie listy powiadomień¶
Aby otrzymać listę powiadomień należy wysłać wiadomość GET na adres /api/user/notifications/.
W odpowiedzi powinniśmy otrzymać wiadomość o treści z taką strukturą danych:
{
"count": 2,
"next": "http://$host_url/api/user/notifications/?limit=100&offset=100",
"previous": null,
"results": [
{
"id": 3587,
"type": 8,
"seen": false,
"severity": 1,
"timestamp": "2022-01-27T17:30:57.239897+01:00",
"additional_data": {
"test_agent_id": 4
}
},
{
"id": 3586,
"type": 2,
"seen": false,
"severity": 1,
"timestamp": "2022-01-27T13:47:34.936364+01:00",
"additional_data": {
"task_id": 1557,
"task_type": "network_ping",
"test_suite_id": 395,
"test_suite_name": "Test Suite Example"
}
},
]
}
Filtrowanie/sortowanie powiadomień¶
Jest również możliwość pobrania przefiltrowanych danych. Aby pobrać filtrowane dane należy do adresu wiadomości dopisać odpowiedni parametr: /api/user/notifications/?seen=false&severity=1&type=6.
Dostępne filtry:
seen (wartość true lub false) – oznacza powiadomienia przeczytane lub nieprzeczytane
Pobieranie nieodczytanych powiadomień: /api/user/notifications/?seen=falseseverity (liczba, lub lista liczb, lub wyrażenie zawierające jeden z operatorów <, <=, =>, >) – oznacza powiadomienia o określonym priorytecie
Pobieranie powiadomień z priorytetem równym 1: /api/user/notifications/?severity=1Pobieranie powiadomień z priorytetem równym 1, 2 lub 3: /api/user/notifications/?severity=1|2|3Pobieranie powiadomień z priorytetem większym lub równym 1: /api/user/notifications/?severity=>=1Pobieranie powiadomień z priorytetem mniejszym od 1: /api/user/notifications/?severity=<1- type (dozwolone wartości liczbowe 1-8) – oznacza typ powiadomienia:
1 – task started,
2 – task succeeded,
3 - task failed,
4 – threshold exceeded,
5 – test suite started,
6 – test suite finished,
7 – test agent online,
8 – test agent offline,
Pobieranie powiadomień typu 1: /api/user/notifications/?type=1Pobieranie powiadomień typu 1, 2 lub 3: /api/user/notifications/?type=1|2|3
Możliwe jest również sortowanie powiadomień po dacie. Należy to zrobić poprzez dopisanie do adresu wiadomości parametru ordering:
/api/user/notifications/?ordering=timestamp dla sortowania typu od najstarszych do najnowszych,
/api/user/notifications/?ordering=-timestamp dla sortowania typu od najnowszych do najstarszych.
Pobieranie pojedynczego powiadomienia¶
Aby otrzymać dane szczegółowe lokalizacji należy wysłać wiadomość GET na adres /api/user/notifications/<id>/, gdzie <id> jest id powiadomienia, którego chcemy pobrać.
W odpowiedzi powinniśmy otrzymać wiadomość o treści z taką strukturą danych:
{
"id": 3587,
"type": 8,
"seen": false,
"severity": 1,
"timestamp": "2022-01-27T17:30:57.239897+01:00",
"additional_data": {
"test_agent_id": 4
}
}
Oznaczenie powiadomienia jako przeczytane¶
Aby oznaczyć powiadomienie jako przeczytane należy wysłać wiadomość PATCH na adres /api/user/notifications/<id>/, gdzie <id> jest id powiadomienia, które chcemy tak oznaczyć.
Wiadomość powinna zawierać treść:
{
"seen": true
}
W odpowiedzi powinniśmy otrzymać wiadomość o treści z taką strukturą danych:
{
"id": 3587,
"type": 8,
"seen": true,
"severity": 1,
"timestamp": "2022-01-27T17:30:57.239897+01:00",
"additional_data": {
"test_agent_id": 4
}
}
Oznaczenie wszystkich powiadomień jako przeczytane¶
Aby oznaczyć wszystkie powiadomienia jako przeczytane należy wysłać wiadomość POST na adres /api/user/notifications/mark_seen/.
W odpowiedzi powinniśmy otrzymać wiadomość z informacją:
{
"status":"ok"
}