Commit graph

1004 commits

Author SHA1 Message Date
Dominik Broj
cfec0020ad
Handle empty values in convertFiltersToBackendFormat (#4326)
# What this PR does
Handle empty values in convertFiltersToBackendFormat

## Which issue(s) this PR closes
Broken Insights page


## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-05-09 08:15:50 +00:00
Dominik Broj
33cbf62852
improve frontend dev exp (#4296)
# What this PR does

- Add `yarn install` to Tiltfile when running locally
- Build prod bundle of the frontend without watch mode on CI
- Remove `engine` from Tilt deps of grafana and oncall provisioning
config map so grafana can be built in parallel to engine to speed up
things
- Update dev/README.md with Node.js requirement

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4295 

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-05-06 05:02:32 +00:00
Maxim Mordasov
1fb25529ed
Make team selects searchable (#4308)
# What this PR does

Make team selects searchable

## Which issue(s) this PR closes

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-05-06 03:35:53 +00:00
Maxim Mordasov
713c51ce07
Display human readable time ranges in AG filters (#4288)
# What this PR does

Display human readable time ranges in AG filters

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4272

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.

---------

Co-authored-by: Michael Derynck <michael.derynck@grafana.com>
2024-05-02 14:23:33 +00:00
Maxim Mordasov
da79bff1dc
Fix missing Avatar on the schedule user's popup (#4290)
# What this PR does

Fix missing Avatar on the schedule user's popup

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4258

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-30 13:32:42 +00:00
Maxim Mordasov
2f1ea7dc98
Fix tabs navigation on the settings page (#4289)
# What this PR does

Fix tabs navigation on the settings page

## Which issue(s) this PR closes

Related to https://github.com/grafana/oncall-private/issues/2563

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.

---------

Co-authored-by: Dominik Broj <dominik.broj@grafana.com>
2024-04-30 13:25:31 +00:00
Dominik Broj
b5d900de96
Show info about missing users in schedules (#4294)
# What this PR does

- Don't show global notification if one of the rolling_users is a user
that doesn't exist anymore (has been deleted)
- In case user present in rolling_users has been either deleted or
his/her role has been downgraded to Viewer, show such explicit info on
UI

![image](https://github.com/grafana/oncall/assets/12073649/45cec62d-b62b-4085-b536-906ef9dbef1f)

![image](https://github.com/grafana/oncall/assets/12073649/692dea50-10c7-47e9-9371-565e21d80cfe)


## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4251

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-30 09:00:16 +00:00
Rares Mardare
6ed7a1e3b8
Tag component tweaks to get rid of hardcoded tag variables (#4280)
# What this PR does

- Removed the usage of `var(--` within the Tag component to help get rid
of the vars file once we fully migrate to emotion
- Added few other display tweaks and migrated a few stylesheets to
emotion
2024-04-29 08:13:26 +00:00
Dominik Broj
2a8240ab55
Use ops-devenv only in expensive tests (#4285)
# What this PR does

- Use cross-plugin e2e tests setup (cloning ops-devenv, gops-labels)
only on a daily runs and on dev/main branch pipelines (exclude it from
PRs so that community PRs don't rely on secrets)
- Rename "Daily e2e tests" to "Expensive e2e tests" and run them both
daily and when PRs are merged to dev/main
- Post Slack message only if e2e tests fail

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2024-04-26 17:41:08 -04:00
Alyssa Wada
01f2a1c0e3
Docs review on SNOW integration doc (#4275)
# What this PR does
Provides an editorial review of the SNOW doc for style, format, and
overall Writers Toolkit adherence.

---------

Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
2024-04-26 16:36:33 +00:00
Dominik Broj
9432e9ee44
Configure cross plugin e2e tests (#4222)
# What this PR does

- Run e2e tests using ops-devenv against environment that includes
OnCall & Labels
- Add first e2e test for Labels (creating new label key and value)

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4083

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-25 06:25:59 +00:00
Salvatore Giordano
5188a8d7b8
Update mobile app sign in page (#4264)
# What this PR does

Changed the text of the deep link sign in button and reorders the
sections so that the qr code is on top in mobile mode

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall-mobile-app/issues/605

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-24 08:10:22 +00:00
Innokentii Konstantinov
9afbcfc063
Fix docs and UI for connecting Grafana Alerting from other stack (#4243)
This PR fixes docs and UI to avoid usage of Grafana (Other) integration
which is using old mechanism for alert creation.
1. Rename Grafana (Other) integration to Grafana Alerting Legacy
2. Remove its mentions from docs and correct docs for connection Grafana
Alerting
3. Make AlertManager featured integration and upgrade its description.

![image](https://github.com/grafana/oncall/assets/20221722/6e84403e-c293-4791-9905-4d06c69775e9)

---------

Co-authored-by: Rares Mardare <rares.mardare@grafana.com>
2024-04-24 08:02:51 +00:00
Rares Mardare
55b154841f
SNOW final tweaks (#4254)
- Show `external_url` for an AG that has its integration connected to
ServiceNow
- Addressed some of @raphael-batte 's remarks
- Prevent SNOW creation if connection to servicenow instance fails
- Skip error handling that showed 500 or 401: Unauthorized on some calls
to test_connection and instead rely purely on displaying `OK` or `Error`
2024-04-19 14:03:28 +00:00
Maxim Mordasov
baef4e2642
Polish GCal UI texting (#4244)
# What this PR does

Polish GCal UI texting

## Which issue(s) this PR closes

-

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2024-04-18 14:36:45 +00:00
Rares Mardare
c8b37c7ad2
Updated labels version + autogenerated types (#4249)
# What this PR does

Updated labels version + autogenerated types
2024-04-18 14:23:19 +00:00
Rares Mardare
c8a5f02c3b
Prevent calling contact point endpoint for other integrations (#4250)
# What this PR does

Right now there's an issue where we call the contact point endpoint upon
integration creation, even though the integration is not
grafana_alerting. The PR addresses this issue
2024-04-18 14:23:06 +00:00
Maxim Mordasov
bfeb286637
Replace GForm with react-hook-form (#4171)
# What this PR does

Replace GForm with react-hook-form

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4142

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-18 13:58:32 +00:00
Maxim Mordasov
92600c05a7
Cleanup error logs on frontend unit test run (#4167)
# What this PR does

Cleanup error logs on frontend unit test run

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/3428

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-17 11:05:11 +00:00
Rares Mardare
e633cf4e82
Added new SNOW logo (#4240)
# What this PR does

- Replaced old SNOW logo
2024-04-17 11:03:49 +00:00
Rares Mardare
1b944605a7
Fixed labels update within Integration Form (#4233)
# What this PR does

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4190
2024-04-16 17:31:32 +00:00
Vadim Stepanov
689fdba52b
SNOW minor wording & docs URL updates (#4229)
Related to https://github.com/grafana/oncall-private/issues/2615

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.

---------

Co-authored-by: Dominik <dominik.broj@grafana.com>
2024-04-16 12:16:35 +00:00
Matias Bordese
0989c40abb
Add alert groups external URLs information to details API (#4226)
Alert groups connected to an external source will return external URLs
information, eg.

```
{
  "external_urls": [
    {
      "integration": "C2IFSTV93NQUW",
      "integration_type": "servicenow",
      "external_id": "4c686e1e83d1021075feb3a6feaad3a8",
      "url": "https://some.service-now.com/incident.do?sys_id=4c686e1e83d1021075feb3a6feaad3a8"
    }
  ]
}

```
Related to https://github.com/grafana/oncall-private/issues/2615
2024-04-15 17:49:51 +00:00
Dominik Broj
14f9677082
change requried node version (#4223)
# What this PR does
change requried node version

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-15 14:21:12 +00:00
Dominik Broj
eb7941eecd
Snow improvements (#4221)
# What this PR does

Remove unneeded info icons and tooltips
Fix overflow so that drawer content is scrollable
In Last Event show url from webhook response (that is processed by
template engine)

https://github.com/grafana/oncall-private/issues/2615

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-15 13:45:07 +00:00
Rares Mardare
87ca3a0fc3
Prevent SN modal closing on outer click (#4219)
# What this PR does

Added `closeOnBackdropClick` prop to `Complete Your ServiceNow Config`
modal
2024-04-15 12:55:19 +00:00
Joey Orlando
e018f2ba90
Add Google privacy policy note for Google Calendar integration (#4203)
# What this PR does
<img width="1098" alt="Screenshot 2024-04-10 at 11 36 58"
src="https://github.com/grafana/oncall/assets/9406895/4ceb0479-bc3f-48e8-90c4-0c117b309d36">

This is a requirement to get our Google OAuth2 consent screen
re-approved

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-15 12:14:32 +00:00
Dominik Broj
8187dfb595
Switch to async/await Promises handling across the codebase (#4191)
# What this PR does

Use async/await across the frontend codebase for Promises handling

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/3736

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-15 11:55:50 +00:00
Salvatore Giordano
90094975c4
Move deep link login to the top to be more visible (#4216)
# What this PR does

Move deep link login to the top to be more visible

## Which issue(s) this PR closes

Closes [issue link here]

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-12 15:03:12 +00:00
Salvatore Giordano
395335f21d
add support for logging in to mobile using deep links (#4212)
# What this PR does

Optimize mobile app connection layout for smaller screens and add
LinkLoginButton component


https://www.loom.com/share/1e057464bbe6428c994cf4831713d45c?sid=b5d70863-862e-4ef9-8303-a3354622f442

## Which issue(s) this PR closes

https://github.com/grafana/oncall-private/issues/2528

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-12 13:43:51 +00:00
Matias Bordese
b3c1800f87
Add Slack deep link entry to alert group permalinks (#4205)
Related to https://github.com/grafana/oncall/issues/4122
2024-04-12 13:25:48 +00:00
Rares Mardare
ee71ba5163
SNOW tweaks (#4214)
# What this PR does

SNOW tweaks
2024-04-12 12:21:06 +00:00
Dominik Broj
19a85d535e
Update PromQL queries on Insights page and dashboard (#4213)
# What this PR does

Improve PromQL queries


## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-12 11:57:04 +00:00
Rares Mardare
64bca2a2c0
Show error if resolve AG request fails (#4199)
# What this PR does

Fix for https://github.com/grafana/oncall-private/issues/2587

- Modified the http-client to throw both the response and the error data
such that the decorator can read the actual error data passed from
backend

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall-private/issues/2587
2024-04-11 08:40:33 +00:00
Dominik Broj
8ac07aae2c
unit test dayJSAddWithDSTFixed (#4192)
# What this PR does
unit test dayJSAddWithDSTFixed utility function


## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-09 15:06:11 +00:00
Rares Mardare
45d0390f5e
Migration to emotionjs (#4123)
# What this PR does

Migrate existing CSS/SCSS to emotion

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/2666
2024-04-09 13:21:34 +00:00
Maxim Mordasov
e9afece717
Proposal for dayJSAddWithDSTFixed fn fix (#4183)
# What this PR does

Fix dayJSAddWithDSTFixed fn

## Which issue(s) this PR closes

https://github.com/grafana/oncall/pull/4103

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-09 11:56:58 +00:00
Dominik Broj
42024a9ab3
Fix incident error handling (#4185)
# What this PR does

Throw full fetch response to allow existing error handlers to work
properly

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-09 10:36:15 +00:00
Joey Orlando
d0ebe37197
Revert "Fix Insights e2e test" (#4188)
Reverts grafana/oncall#4181
2024-04-08 13:54:53 -04:00
Dominik Broj
3eecefe9ff
Fix Insights e2e test (#4181)
# What this PR does

Fix and bring back Insights test

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-08 13:44:26 +00:00
Maxim Mordasov
2f33d1ab56
Remove updating user's timezone on backend if there are no changes (#4157)
# What this PR does

Remove updating user's timezone on backend if there are no changes

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4112

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-05 10:38:11 +00:00
Joey Orlando
c6f5c9b14d
Google Calendar integration improvements (#4147)
# What this PR does

- UI enhancements
- Fix bug when going through the Google OAuth2 disconnection flow. We
should send the `refresh_token` in the `revoke` HTTP request, rather
than the `access_token` (`access_token` expires frequently and can
result in Google sending back HTTP 400.. `refresh_token` is long lived
and can also be sent in the revoke flow)

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.

---------

Co-authored-by: Maxim Mordasov <maxim.mordasov@grafana.com>
2024-04-04 16:03:40 +00:00
Matias Bordese
df76cd45cf
Minor wording update in rotation form when weekdays mask is set (#4156)
Related to [discussion
here](https://raintank-corp.slack.com/archives/C0229FD3CE9/p1712163585553429)
2024-04-04 14:40:14 +00:00
Maxim Mordasov
1a4fa1a368
Fix rotation creation form "Limit each shift length" feature (#4152)
# What this PR does

Fix rotation creation form "Limit each shift length" feature

## Which issue(s) this PR closes

Closes https://github.com/grafana/support-escalations/issues/9970

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-04-04 12:17:46 +00:00
Joey Orlando
59f727d4f5
Google OAuth2 flow + fetch Google Calendar OOO events (#4067)
# What this PR does

The following is deployed under a feature flag.

**How it works**
1. The user clicks on the "Connect using your Google account" button in
the user profile settings modal
2. The UI makes a call to `GET /api/internal/v1/login/google-oauth2`.
The backend has now been configured to add
`apps.social_auth.backends.GoogleOAuth2` as a "`social_auth` backend".
3. The backend will respond w/ a URL which points to the Google OAuth2
consent screen. The frontend then proceeds by sending the user to this
page. This URL includes the following query parameters (amongst others):
- `redirect_uri` - this will send the user back to
`/api/internal/v1/complete/google-oauth2` (ie. make another API call to
the OnCall backend to finalize the Google OAuth2 flow)
- `state` - this represents an
`apps.auth_token.models.GoogleOAuth2Token` token. This allows us to
identify the OnCall user once they've linked their Google account.
4. Once redirected back to `/api/internal/v1/complete/google-oauth2`,
this will complete the OAuth2 flow. At this point, the backend has
access to several pieces of information about the Google user, including
their `access_token` and `refresh_token`. We persist these (encrypted)
for future use to fetch the user's out-of-office calendar events
5. The response from the API call in 4 above ☝️ is HTTP 302 (redirect)
to `/a/grafana-oncall-app/users/me` (ie. open the user profile settings
modal). At this point the user will see that their account has been
connected and they can further configure the settings

![image](https://github.com/grafana/oncall/assets/9406895/c7673055-8485-4f9a-98df-b4f7347229ce)


## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall-private/issues/2584

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required) - will be done in
https://github.com/grafana/oncall-private/issues/2591
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
show up in the autogenerated release notes. - will be done in
https://github.com/grafana/oncall-private/issues/2591

---------

Co-authored-by: Dominik <dominik.broj@grafana.com>
Co-authored-by: Maxim Mordasov <maxim.mordasov@grafana.com>
2024-04-02 14:59:03 -04:00
Rares Mardare
c1766d9fc2
Pass existing integration id to test_connection (#4131)
# What this PR does

Pass existing integration id to `test_connection` servicenow endpoint
2024-04-02 12:43:55 +00:00
Dominik Broj
9256fbd12c
Snow polishing (#4136)
# What this PR does

- Webhook URL should be template editor + move it after HTTP method
[Frontend] @brojd
- Lack of scrollbar when templates are there in Outgoing webhook details
drawer [Frontend] @brojd
- On outgoing tab "Open ServiceNow configuration" does nothing
[Frontend] @brojd
 - Remove OK tag next to url in outgoing tab [Frontend] @brojd
 
https://github.com/grafana/oncall-private/issues/2615 

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-03-29 15:59:23 +00:00
dependabot[bot]
e95125ae5f
Bump express from 4.18.3 to 4.19.2 in /grafana-plugin (#4135)
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to
4.19.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/releases">express's
releases</a>.</em></p>
<blockquote>
<h2>4.19.2</h2>
<h2>What's Changed</h2>
<ul>
<li><a
href="0b746953c4">Improved
fix for open redirect allow list bypass</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.19.1...4.19.2">https://github.com/expressjs/express/compare/4.19.1...4.19.2</a></p>
<h2>4.19.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix ci after location patch by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5552">expressjs/express#5552</a></li>
<li>fixed un-edited version in history.md for 4.19.0 by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5556">expressjs/express#5556</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.19.0...4.19.1">https://github.com/expressjs/express/compare/4.19.0...4.19.1</a></p>
<h2>4.19.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix typo in release date by <a
href="https://github.com/UlisesGascon"><code>@​UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5527">expressjs/express#5527</a></li>
<li>docs: nominating <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> to be
project captian by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5511">expressjs/express#5511</a></li>
<li>docs: loosen TC activity rules by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5510">expressjs/express#5510</a></li>
<li>Add note on how to update docs for new release by <a
href="https://github.com/crandmck"><code>@​crandmck</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5541">expressjs/express#5541</a></li>
<li><a
href="660ccf5fa3">Prevent
open redirect allow list bypass due to encodeurl</a></li>
<li>Release 4.19.0 by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5551">expressjs/express#5551</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/crandmck"><code>@​crandmck</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5541">expressjs/express#5541</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.18.3...4.19.0">https://github.com/expressjs/express/compare/4.18.3...4.19.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/blob/master/History.md">express's
changelog</a>.</em></p>
<blockquote>
<h1>4.19.2 / 2024-03-25</h1>
<ul>
<li>Improved fix for open redirect allow list bypass</li>
</ul>
<h1>4.19.1 / 2024-03-20</h1>
<ul>
<li>Allow passing non-strings to res.location with new encoding handling
checks</li>
</ul>
<h1>4.19.0 / 2024-03-20</h1>
<ul>
<li>Prevent open redirect allow list bypass due to encodeurl</li>
<li>deps: cookie@0.6.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="04bc62787b"><code>04bc627</code></a>
4.19.2</li>
<li><a
href="da4d763ff6"><code>da4d763</code></a>
Improved fix for open redirect allow list bypass</li>
<li><a
href="4f0f6cc67d"><code>4f0f6cc</code></a>
4.19.1</li>
<li><a
href="a003cfab03"><code>a003cfa</code></a>
Allow passing non-strings to res.location with new encoding handling
checks f...</li>
<li><a
href="a1fa90fcea"><code>a1fa90f</code></a>
fixed un-edited version in history.md for 4.19.0</li>
<li><a
href="11f2b1db22"><code>11f2b1d</code></a>
build: fix build due to inconsistent supertest behavior in older
versions</li>
<li><a
href="084e36506a"><code>084e365</code></a>
4.19.0</li>
<li><a
href="0867302ddb"><code>0867302</code></a>
Prevent open redirect allow list bypass due to encodeurl</li>
<li><a
href="567c9c665d"><code>567c9c6</code></a>
Add note on how to update docs for new release (<a
href="https://redirect.github.com/expressjs/express/issues/5541">#5541</a>)</li>
<li><a
href="69a4cf2819"><code>69a4cf2</code></a>
deps: cookie@0.6.0</li>
<li>Additional commits viewable in <a
href="https://github.com/expressjs/express/compare/4.18.3...4.19.2">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~wesleytodd">wesleytodd</a>, a new releaser
for express since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.18.3&new-version=4.19.2)](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 show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@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)
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>
2024-03-29 08:00:18 +00:00
Joey Orlando
c5cd675738
cleanup CustomButton backend code + add ngrok/express outgoing webhook e2e test (#2544)
# What this PR does

- removes unused "custom button" backend code now that we've migrated to
outgoing webhooks
- adds new e2e test for webhooks asserting that an `ngrok`/`express`
webhook handler receives the call as expected + payload is as expected
(related to https://github.com/grafana/oncall/issues/2691) - skipped for
now, the test passes locally but fails on GitHub Actions CI, seems to be
networking related
 
## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)

---------

Co-authored-by: Michael Derynck <michael.derynck@grafana.com>
2024-03-28 15:37:22 +00:00
Rares Mardare
b544a4360a
Fix chatops search (#4130)
# What this PR does

Added NPE guard to fix search issue on slack channels inside integration
2024-03-28 11:02:00 +00:00