Commit graph

1751 commits

Author SHA1 Message Date
Vadim Stepanov
84164ff5e6
Update CHANGELOG.md 2023-02-16 13:11:05 +00:00
Vadim Stepanov
507c9a5b92
Show direct paging integrations in list filter options (#1329)
# What this PR does
Changes the internal API to show direct paging integrations in list
filter options.

<img width="1203" alt="Screenshot 2023-02-15 at 16 27 31"
src="https://user-images.githubusercontent.com/20116910/219090234-d40d471c-ffcc-48e9-8799-e48f03681b72.png">

## Checklist

- [x] Tests updated
2023-02-16 11:38:45 +00:00
Vadim Stepanov
f194df0e99
Add App Store link to web UI (#1328)
# What this PR does
Adds the IPhone mobile app link to web UI.

## Checklist

- [x] Tests updated
- [x] Documentation added
- [x] `CHANGELOG.md` updated
2023-02-16 10:49:37 +00:00
dependabot[bot]
e2fdbb3aea
Bump django from 3.2.17 to 3.2.18 in /engine (#1330) 2023-02-16 11:44:38 +01:00
Vadim Stepanov
e1cabea5ee
PD migrator: handle resource names with extra spaces (#1327)
# What this PR does
Currently PD migrator can fail with HTTP 400 error when dealing with PD
resource names like " Schedule" (note the extra space). This PR makes
sure that PD migrator script can handle such cases.
2023-02-15 17:31:30 +00:00
Vadim Stepanov
71c00d59bf
Improve PD migrator traceback on HTTP 400 (#1325)
# What this PR does
Improves PagerDuty migrator error traceback when getting HTTP 400 errors
from OnCall public API.
2023-02-15 11:37:07 +00:00
Vadim Stepanov
9230783104
PD migrator: fix case sensitivity issues (#1320)
# What this PR does
Fix case sensitivity issues for PD migrator when using MySQL
`utf8mb4_unicode_ci` collation.
This fixes a bug when the migrator tries to create a resource but fails
to do so because there is already a resource with the same name but
different capitalisation (e.g. migrating PD schedule with name "Test"
and there's already a schedule with name "test" in OnCall).

## Checklist

- [x] Tests updated
2023-02-14 12:25:44 +00:00
Matvey Kukuy
3b1f864366
Changing names for GitHub Labels (#1318)
# What this PR does

no changelog -> pr:no changelog
no public docs -> pr:no public docs

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-02-10 13:29:20 +02:00
Yulia Shanyrova
4ee2f09e7a
823 direct paging users (#1215)
# What this PR does

Adds direct user paging

## Which issue(s) this PR fixes

https://github.com/grafana/oncall/issues/823

## Checklist

- [ ] Tests updated
- [ ] Documentation added (documentation will be added later)
- [x] `CHANGELOG.md` updated

---------

Co-authored-by: Maxim <maxim.mordasov@grafana.com>
2023-02-10 14:10:09 +03:00
Matias Bordese
b8f15904a8
Rework schedules cached ical file values (#1312)
Related to #1216 

Set default cached empty value as `""`, while keeping `None` to indicate
a refresh is needed.
2023-02-09 08:45:20 -03:00
Yulia Shanyrova
21691d64dc
Cleaning out Incident word from frontend (#704)
**What this PR does**:

**Which issue(s) this PR fixes**:

**Checklist**
- [ ] Tests updated
- [ ] Documentation added
- [x] `CHANGELOG.md` updated
2023-02-08 17:07:51 +01:00
Matias Bordese
a121f84a89
Rework slack login to check backend before redirecting (#1306)
Also:
- Remove unused slack login views in `social_auth` app
- Disable unlink actions in the profile if user is not owner (otherwise
it will disconnect the logged in user, not the one being shown on
screen)
2023-02-08 09:08:18 -03:00
Rares Mardare
81b5741d34
Changes to make screens more responsive + incident status toggler change (#1237)
# What this PR does

- Changes to make a few screens be more responsive
- Removed incident actions and replaced incident status with a toggler
- Renamed `IncidentStatus.new` to `IncidentStatus.Firing`
- Removed old schedules code (unused)

## Which issue(s) this PR fixes

#1000 

## Checklist

- [x] `CHANGELOG.md` updated

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-07 13:28:58 +02:00
Yulia Shanyrova
89f22207c2
Polishing design for User tooltip in Schedules (#1290)
# What this PR does
Design polishing for Schedules User tooltip and Incident action icons

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [x] `CHANGELOG.md` updated
2023-02-06 15:59:36 +01:00
Vadim Stepanov
cd3a357c49
v1.1.23 changelog 2023-02-06 14:28:12 +00:00
Matias Bordese
4816242c22
Update docs to include details about direct paging command (#1258) 2023-02-06 09:21:15 -03:00
Vadim Stepanov
d40db5a352
Make emails case-insensitive for ICal schedules (#1297)
# What this PR does
Fixes a bug when current on-call users for web UI and Slack user group
are incorrect.

This happens when both conditions below are true:
- Using an ICal schedule
- Email of a user in Grafana has a different case than an event in ICal
(e.g. `User@gmail.com` in Grafana, `user@gmail.com` in ICal event)

The bug was introduced by https://github.com/grafana/oncall/pull/1169

## Which issue(s) this PR fixes
https://github.com/grafana/oncall/issues/1296

## Checklist

- [x] Tests updated
- [x] `CHANGELOG.md` updated
2023-02-06 12:11:13 +00:00
Ildar Iskhakov
1b7ada4315
Add database migrations linter (#1020)
# What this PR does

This PR adds
[django-migration-linter](https://github.com/3YOURMIND/django-migration-linter)
to keep database migrations
 backwards compatible

- we can automatically run migrations and they are zero-downtime, e.g.
old code can work with the migrated database
 - we can run and rollback migrations without worrying about data safety
- OnCall is deployed to the multiple environments core team is not able
to control

See [django-migration-linter
checklist](https://github.com/3YOURMIND/django-migration-linter/blob/main/docs/incompatibilities.md)
for the common mistakes and best practices


## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-06 16:01:37 +08:00
dependabot[bot]
59ac97438a
Bump django from 3.2.16 to 3.2.17 in /engine (#1295)
Bumps [django](https://github.com/django/django) from 3.2.16 to 3.2.17.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aed1bb56d1"><code>aed1bb5</code></a>
[3.2.x] Bumped version for 3.2.17 release.</li>
<li><a
href="c7e0151fdf"><code>c7e0151</code></a>
[3.2.x] Fixed CVE-2023-23969 -- Prevented DoS with pathological values
for Ac...</li>
<li><a
href="9da46345d8"><code>9da4634</code></a>
[3.2.x] Fixed inspectdb.tests.InspectDBTestCase.test_custom_fields() on
SQLit...</li>
<li><a
href="4c2b26174f"><code>4c2b261</code></a>
[3.2.x] Removed 'tests' path prefix in a couple tests.</li>
<li><a
href="d21543182d"><code>d215431</code></a>
[3.2.x] Adjusted release notes for 3.2.17.</li>
<li><a
href="4e31d3ea55"><code>4e31d3e</code></a>
[3.2.x] Added stub release notes for 3.2.17.</li>
<li><a
href="238e8898ac"><code>238e889</code></a>
[3.2.x] Corrected passenv value for tox 4.0.6+.</li>
<li><a
href="b381ab4906"><code>b381ab4</code></a>
[3.2.x] Disabled auto-created table of contents entries on Sphinx
5.2+.</li>
<li><a
href="f6f0699d01"><code>f6f0699</code></a>
[3.2.x] Removed obsolete doc reference to
asyncio.iscoroutinefunction.</li>
<li><a
href="accdd0576d"><code>accdd05</code></a>
[3.2.x] Added CVE-2022-36359 to security archive.</li>
<li>Additional commits viewable in <a
href="https://github.com/django/django/compare/3.2.16...3.2.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=django&package-manager=pip&previous-version=3.2.16&new-version=3.2.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/grafana/oncall/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-05 09:59:27 +01:00
felipebpl
4b41eb7c17
updating warning text color to Grafana Orange (#790)
**What this PR does**: 

This PR updates the color for the warning text to proper Grafana Orange
(`rgb(255, 120, 10)`).

**Which issue(s) this PR fixes**:

#768  

**Checklist**
- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

Co-authored-by: Matvey Kukuy <Matvey-Kuk@users.noreply.github.com>
2023-02-03 16:42:53 +02:00
Ben Sully
f930e3687e
Include alert details in Grafana Incident alert-group endpoint (#1280)
This will be used by Grafana Incident to infer details about the
incident if alert groups are present.

Depends on #1279
2023-02-03 13:43:21 +00:00
Vadim Stepanov
e5a420f75a
v1.1.22 2023-02-03 12:49:55 +00:00
Vadim Stepanov
070eb6e538
Enable mobile app backend by default on OSS (#1286)
# What this PR does
Enables mobile app backend by default on OSS.

## Checklist
- [x] `CHANGELOG.md` updated
2023-02-03 12:44:22 +00:00
Ben Sully
cb98751c0f
Disable listing alert groups using Grafana Incident API (#1279)
Grafana Incident API only ever accesses individual alert groups by ID.
Using the /api/gi/v1/alert-groups endpoint without an ID would list
every
single alert group in the database (from what I can tell), since the
auth
isn't org-specific.

This is a precursor to another PR which adds more details to the alert
group
serializer, which makes the query more resource intensive, so I thought
it
best to disable listing first.
2023-02-03 12:26:03 +00:00
Ildar Iskhakov
930f1f9edf
Revert count query in alert groups internal api endpoint (#1285)
# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-02-03 20:01:46 +08:00
Ildar Iskhakov
710f7755c0
Fix bug with root/dependant alert groups list api endpoint (#1284)
# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-02-03 19:53:35 +08:00
Rares Mardare
a2e0633fcc
Fix on teams switch NPE (#1281)
# What this PR does

Fix for teams switch NPE
2023-02-03 13:38:48 +02:00
Ildar Iskhakov
335c8fe65b
Optimize alert and alert group public api endpoints, add filter by id (#1274)
# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-03 17:05:08 +08:00
Matvey Kukuy
038310829b
Mobile app documentation draft. (#1207)
# What this PR does

First draft of documentation. @alyssawada please use it as a starting
point :)

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [x] Documentation added
- [ ] `CHANGELOG.md` updated

---------

Co-authored-by: alyssa wada <alyssa.wada@grafana.com>
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
Co-authored-by: Alyssa Wada <101596687+alyssawada@users.noreply.github.com>
Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
2023-02-02 15:06:28 +00:00
Vadim Stepanov
04b04ba02b
v1.1.21 changelog 2023-02-02 14:55:02 +00:00
Vadim Stepanov
2218161069
Fix test 2023-02-02 14:28:37 +00:00
Vadim Stepanov
08dbab73d2
Remove mobile_app_settings DynamicSetting (#1268)
# What this PR does
Remove checks for `mobile_app_settings` DynamicSetting, so changing
`FEATURE_MOBILE_APP_INTEGRATION_ENABLED` is enough for toggling the
mobile app backend (aka remove per-org feature flag)

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-02 13:21:04 +00:00
Rares Mardare
3f6e6168a8
Rares/coming soon (#1272)
# What this PR does

Added Coming Soon label for `iOS`

- [x] `CHANGELOG.md` updated
2023-02-02 14:55:22 +02:00
Matias Bordese
bc0276fb22
Keep track of direct paging schedule/importance in logs (#1269)
This will eventually allow to improve responders information in an alert
group detail page
2023-02-02 09:21:31 -03:00
Vadim Stepanov
9b709e86c9
Fix local dev setup slowness (#1270)
# What this PR does
Fixes an issue when a local dev setup becomes extremely slow.

- Set `DEBUG` and `SILK_PROFILER_ENABLED` to `False` by default + add
utility make commands to toggle it
- Use `uwsgi` instead of Django's built-in `runserver` for local dev
setup
- Limit Celery concurrency to 3 for local dev setup (previously was 20,
used >1GB RAM on my machine)

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-02 09:08:48 +00:00
Rares Mardare
8e4a72393b
1097 - Refactor alerts outside DefaultPageLayout (#1141)
# What this PR does

#1097 Remaining tech debt from a previous PR to refactor `alerts`
outside of `DefaultPageLayout`
2023-02-02 10:52:36 +02:00
Rares Mardare
e8411d7b8b
Rares/1083 fix integrations (#1256)
# What this PR does

- Fix for #1083 
- Fix for #1257 

- [x] `CHANGELOG.md` updated
2023-02-02 10:34:40 +02:00
Rares Mardare
cc822e6cc4
Plugin description copy (#1259)
# What this PR does

Change copy for description based on #1003
2023-02-02 10:25:07 +02:00
Jack Jackson
4add163608
Correct init command for Postgres Database (#1243)
It seems that the MySQL syntax command was mistakenly copied to the
instructions for Postgres, which uses a different syntax - ref
[here](https://www.postgresql.org/docs/current/sql-createdatabase.html)
for creation syntax, and
[here](https://www.postgresql.org/docs/current/multibyte.html) for
encoding information. I did read through
[here](https://www.postgresql.org/docs/current/collation.html) looking
for an appropriate collation, but they appear to be
installation-specific rather than having a standard set defined in
documentation - I omitted this value (thus setting to the default), and
haven't noted any immediate problems.

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-02 07:46:59 +01:00
Roman Pertl
98c2b64b50
Use latest Grafana Container Images (#1227)
additionally allow oeverride grafana version in .env file

The default docker-compose file should not use a grafan version several
months old.
This uses the same logic as the development docker-compose file.

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-02 07:46:39 +01:00
Jack Baldry
0fc43c5e26
Use organization ISSUE_COMMANDS_TOKEN with reduced scope (#1248)
The new token is set at an organization level so it does not require
repository administrators to rotate the token. It also has the minimal
classic PAT permissions to facilitate the workflow.

It has expiry but that expiry is reported via email to the engineering
organization and the IT Helpdesk have permissions to regenerate the
token when expiration is imminent.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-02 07:42:53 +01:00
Ildar Iskhakov
df1517573e
Cache web template rendered fields for alert and alertgroup endpoints (#1261)
# What this PR does
This PR adds same approach as introduced
[here](https://github.com/grafana/oncall/pull/1236) to all alert and
alertgroup endpoints

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-02-02 11:37:52 +08:00
Vadim Stepanov
b7176888ed
Better FCM error handling / retries (#1267)
# What this PR does
Raise `FirebaseError` in celery tasks contacting FCM instead of just
logging it + add tests

## Checklist

- [x] Tests updated
2023-02-01 14:45:32 +00:00
Matias Bordese
3e15b8cd85
Add default slack channel info to direct paging dialog (#1263) 2023-02-01 10:03:54 -03:00
Joey Orlando
16196822de
Add utility function to get readonly db key if defined (#1264)
# What this PR does

This is a minor refactor before implementing
https://github.com/grafana/oncall-private/issues/1558.

Additionally, it cleans up a few spots where we do this:
```
# Re-take in case we are in the readonly db context.
```
We currently don't read anything from a read-only database, so this
should be not necessary.

## Checklist

- [x] Tests updated
- [ ] Documentation added (N/A)
- [ ] `CHANGELOG.md` updated (N/A)
2023-02-01 12:07:32 +01:00
Joey Orlando
94fe7979cf
add django-dbconn-retry library (#1262) 2023-01-31 20:17:54 +01:00
Maxim Mordasov
f0a34ffd1f
Add cache for working moments (#1048)
# What this PR does

## Which issue(s) this PR fixes

Add cache to avoid heavy calculations to render working hours shades

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-31 20:00:14 +03:00
Joey Orlando
1a8cff8c6c
update vault secret reference (#1252)
See https://github.com/grafana/oncall-private/pull/1612 for more
context.
2023-01-31 09:40:32 +01:00
Joey Orlando
3ce2173eff
tag @grafana/docs-oncall instead of oncall-backend for docs related changes (#1251)
Adding in reference to #1239.

@grafana/docs-oncall should be tagged as a PR reviewer for changes to
`/docs` rahter than @grafana/grafana-oncall-backend.
2023-01-31 09:34:29 +01:00
Joey Orlando
7420e11b4f
update CHANGELOG for new release 2023-01-30 14:11:42 +01:00