Commit graph

69 commits

Author SHA1 Message Date
Matias Bordese
4bc3ed17a8 Make interval check more explicit 2022-11-02 16:12:16 -03:00
Matias Bordese
241283959a Enable daily/by-day shifts option for web schedules 2022-11-02 16:12:16 -03:00
Matias Bordese
64570cc9fd Update schedules endpoint to filter by numeric type 2022-10-31 11:08:33 -03:00
Joey Orlando
5a4c3d6d77
remove POST /api/internal/v1/custom_buttons/{id}/action (#734)
* remove POST /api/internal/v1/custom_buttons/{id}/action
2022-10-28 10:44:37 +02:00
Matias Bordese
565cb84bb1 Add optional type filter to internal schedules endpoint 2022-10-25 12:51:06 -03:00
Vadim Stepanov
e67d3519fe
Restore email notifications (#621)
* remove email verification related code

* remove email verification related code

* remove sendgrid callback

* remove sendgrid related code

* remove sendgrid related code

* rename sendgrid app to email

* remove email from built-in channels

* remove email from built-in channels

* remove email from built-in channels

* add email backend: https://github.com/grafana/oncall/pull/50

* add email templater

* add email templater

* convert md to html

* add email settings to live settings

* use task to send email, handle some exceptions to create logs

* remove ERROR_NOTIFICATION_MAIL_DELIVERY_FAILED usage

* add email limit logic

* fix tests

* add docs

* remove old email templates

* remove old email templates

* add template_fields to messaging backend

* add messaging backends templates to public api

* add comment for deprecated fields

* fix test

* fix tests

* disable email by default

* don't retry on SMTPException and TimeoutError

* add tests

* bring email back to public api docs

* return ERROR_NOTIFICATION_MAIL_LIMIT_EXCEEDED

* make template_fields tuple

* build_subject_and_title -> build_subject_and_message

* add one more comment about template deprecation

* use 8 as backend id

* add comment about gaierror and BadHeaderError

* add comment on importing in notify_user_async

* edit oss docs
2022-10-19 12:32:56 +01:00
Ben Sully
e36757b293
Allow non-JSON custom webhook templates, provided they render as valid JSON (#639)
* Allow non-JSON custom webhook templates, provided they render as valid JSON

Previously, both the provided template _and_ the rendered template had
to be valid JSON in order for validation to pass. This was unnecessarily
restrictive: really, only the rendered template needs to be valid JSON.
It also disallowed using templates such as:

    {
      "labels": {{ alert_payload.labels | tojson }}
    }

even though this would be valid JSON after rendering.

This commit relaxes the validation of custom webhook templates so that
they don't need to be valid JSON, provided that the rendered template
_is_ valid JSON. This is checked using a dummy dictionary of render
params, which use a constant string for the `alert_group_id` field
and a `defaultdict(dict)` for the `alert_payload` field. This should
permit templates like the one above, but still deny templates such as

    {
      "labels": {{ alert_payload.labels }}
    }

which would otherwise fail later if `labels` is not valid JSON.

This should resolve #638.

* Use defaultdict(str) instead of defaultdict(lambda: "")

* Add missing comment to resolution note validation code

* Update validation of resolution notes in public API, too

* Add extra test cases for JSON webhook templates endpoint of public API
2022-10-19 12:32:21 +01:00
Matias Bordese
2a3fc397db Clear users cache before schedule tests logic/asserts 2022-10-03 15:00:23 -03:00
Matias Bordese
f8314ef9c2
Fix timing issue with schedule tests reusing cached users (#592)
Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
2022-10-03 11:37:59 +01:00
Rares Mardare
ea54d21b76 Merge branch 'dev' into 472-wrong-team 2022-09-26 13:34:46 +03:00
Maxim Mordasov
9330b89101
Schedules alpha fixes (#541)
* schedule alpha major fixes

* Fix shift update for web schedules

* Fix priority level regex, fix getting shifts without duration

* Fix shift update for web schedules

* Fix tests for shift update

* Fix priority level test

* schedule alpha fixes

* add final schedule click handler

* fix date time picker

* fix utc timzeonr time picker

* fix utc time data

* dont use user timezone on start

Co-authored-by: Julia <ferril.darkdiver@gmail.com>
2022-09-21 11:19:59 +01:00
Julia
c92faf23c6 Add tests for wrong team for user 2022-09-16 11:53:47 +03:00
Julia
7d5636291a Wrong team error for integrations and escalation chains pages 2022-09-12 17:30:45 +03:00
Julia
e4ae10c678 Wrong team error for schedules and custom buttons, add flag to get object from the whole organization 2022-09-12 17:26:23 +03:00
Innokentii Konstantinov
3e8c7a24c8
Add hiding personal phone numbers (#411)
* Add hiding personal phone numbers

* Fix tests

* phone number toggler

* fixed issue where id was not set

* some improvement changes

* show toggle just for validated phone numbers

* ux changes + refactored PhoneVerification

* minor changes

* linter

* hide banner

* ux changes for phone verification

* make it full width

* linter

* show action only if phone is verified

* linter

* revert isCodeSent once phone is forgotten

* fix UserHiddenFieldsSerializer

* await for loadUser

* missing WithPermissions wrapper

Co-authored-by: Rares Mardare <rares.mardare@grafana.com>
Co-authored-by: Rares Mardare <40542072+teodosii@users.noreply.github.com>
2022-09-09 12:42:40 +05:00
Julia
67eb0b423d Merge branch 'dev' into on-call-shifts-rotation-index
# Conflicts:
#	engine/apps/schedules/models/on_call_schedule.py
2022-09-08 16:43:35 +03:00
Matias Bordese
2d13f9116b Update shift preview to return events for (all) affected shifts 2022-09-08 09:33:51 -03:00
Matias Bordese
a4c036d5aa Update preview rotation start logic to match update logic 2022-09-07 15:37:03 -03:00
Julia
9f71b5d72f Merge branch 'dev' into on-call-shifts-rotation-index 2022-09-07 18:54:39 +03:00
Matias Bordese
026474b43b
Merge pull request #486 from grafana/matiasb/update-preview-shift-pk-reuse
Update web schedule shift preview PK reusing logic
2022-09-07 11:35:34 -03:00
Matias Bordese
02326d81fa
Merge pull request #485 from grafana/matiasb/schedules-related-escalation-chains
Add related escalation chains details to schedule API
2022-09-07 11:17:05 -03:00
Matias Bordese
0a9c9eb59a
Merge pull request #487 from grafana/matiasb/next-shifts-per-user-list-all
Update next shifts per user to list all (web) schedule users
2022-09-07 10:26:28 -03:00
Matias Bordese
b48aadc01c
Merge pull request #473 from grafana/matiasb/fix-update-channel-filter-api-multiple-backends
Fix channel filter updates when there are multiple backends
2022-09-06 17:14:07 -03:00
Matias Bordese
d74f4cc2be Update next shifts per user to list all (web) schedule users 2022-09-05 17:23:35 -03:00
Matias Bordese
c413c54329 Update web schedule shift preview PK reusing logic 2022-09-05 15:50:58 -03:00
Matias Bordese
b41fec5439 Add related escalation chains details to schedule API 2022-09-05 15:00:14 -03:00
Matias Bordese
b5a892a9c2
Merge pull request #381 from grafana/matiasb/fix-final-schedule-event-splitting
Fixes for final event calculation when splitting/combining events
2022-09-05 10:10:11 -03:00
Matias Bordese
7fd0e5ecf7 Skip empty events in final schedule 2022-09-02 16:45:35 -03:00
Matias Bordese
37eefe8e08 Allow empty users when previewing a web schedule shift 2022-09-02 16:45:35 -03:00
Matias Bordese
84dd4eebf5 Update shift preview to reuse shift PK when previewing update 2022-09-02 16:45:35 -03:00
Matias Bordese
c84f53c2b7 Handle shift previews for rotation updates 2022-09-02 16:45:35 -03:00
Matias Bordese
11175e27e5 Combine same-shift schedule events early 2022-09-02 16:45:35 -03:00
Matias Bordese
c9ea6e4728 Add web_schedules feature flag 2022-09-02 15:37:33 -03:00
Matias Bordese
ecbc3ea778 Fix channel filter updates when there are multiple backends 2022-09-02 14:26:47 -03:00
Matias Bordese
a8124b6afe Add unlink slack account option to profile 2022-08-29 14:41:26 -03:00
Innokentii Konstantinov
4765c9b07c
Insight logs (#348)
* Entity events insight logs

* Insight logging

* Fix event for updating templates

* Format fixes

* Remove organization_log_type.py

* Simplify signature of chatops_insight_log

* insight logs formatting

* Add possibility to enable all insight logging via DynamicSetting

* Fixes

* Style fixes

* Add migration

* Fix migration
2022-08-24 12:04:44 +05:00
Matias Bordese
771ad617ff Fix schedule test, sort users before compare 2022-08-23 17:11:04 -03:00
Julia
32daaf74ce Fix tests 2022-08-18 18:27:34 +03:00
Vadim Stepanov
ed98178b53
Wrong team error for alert groups page (#337)
* WIP

* WIP added stub for getAlert endpoint

* add TeamFilteringMixin

* handle 403 wrong_team for alert group page

* use TeamFilteringMixin only for alert groups

* return original_get_object for schedules and webhooks

* lint

* fix texts

* add support for None in 403 response, add comments

* handle NotFound in retreive

* remove comments

* use HTTP_403_FORBIDDEN

Co-authored-by: Yulia Shanyrova <yulia.shanyrova@grafana.com>
2022-08-17 10:46:53 +03:00
Matias Bordese
4477c56b25 Add shift preview endpoint for web schedule 2022-08-16 10:50:16 -03:00
Matias Bordese
96e2fd6926
Merge pull request #320 from grafana/matiasb-combine-same-shift-events
Update schedule filter_events to combine overlapping same-shift events
2022-08-16 10:44:57 -03:00
Matias Bordese
1a1c8efa96 Update schedule filter_events to combine overlapping same-shift events 2022-08-09 11:01:07 -03:00
Julia
3b2d20edcd Add tests for on-call shift, fix schedules tests 2022-08-03 14:38:48 +03:00
Matias Bordese
8fa547ee11
Merge pull request #295 from grafana/matiasb-schedule-next-shifts-per-user
Add schedule next shifts per user endpoint to internal API
2022-07-29 16:29:23 -03:00
Yulya Artyukhina
fdd369c16b
Merge pull request #288 from grafana/julia-web-schedule-backend-3
Create new oncall shift on update for started shifts
2022-07-28 17:30:35 +03:00
Vadim Stepanov
a1b1b83fd1
Optimize alert group list view (#299)
* Revert "Revert "Alert list view & caching rework (#216)""

This reverts commit 730dccc3

* Revert "fix AlertGroupClassicMarkdownRenderer"

This reverts commit 82e53d8e0c513feb8aaef332fc1d3800e90538fc.

* optimize alert group list view

* optimize alert group list view
2022-07-27 14:14:59 +03:00
Julia
26d3ac6a48 fix serializer, add tests for shifts internal api endpoint 2022-07-27 13:40:07 +03:00
Matias Bordese
e6274dc992 Add schedule next shifts per user endpoint to internal API 2022-07-26 15:28:52 -03:00
Matias Bordese
cf6a43c71e Override shifts use rolling_users 2022-07-22 11:54:53 -03:00
Matias Bordese
4649f1faaa Update schedule tests for missing shift rotation_start 2022-07-22 09:29:34 -03:00