Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alerting: Custom contact point for OnCall in Grafana AM #72021

Merged
merged 66 commits into from
Sep 6, 2023

Conversation

konrad147
Copy link
Contributor

@konrad147 konrad147 commented Jul 20, 2023

What is this feature?
This PR adds support for a new custom contact point for the OnCall plugin
Additionally, it provides a better UI for integration with OnCall
Directly from the contact point page the user can create a new OnCall integration or select an existing one

Why do we need this feature?
To make the OnCall a first-party contact point

Who is this feature for?
All users with the OnCall plugin enabled

Which issue(s) does this PR fix?:
Fixes #67096 #69599 #69597

Special notes for your reviewer:
The new contact point operates in 3 modes depending on the OnCall plugin version

  • If the plugin is disabled - the contact point is visible on the list but disabled
  • If the plugin is enabled, but the plugin does not support the new integration mode - the UI will display an URL input
  • If the plugin is enabled and OnCall supports the new integration flow - the UI will display enhanced OnCall integrations options

TODO:

  • Switch integration type for new OnCall integrations from grafana to grafana_alerting
  • Get information about V2 integration support from the OnCall API

DEMO

OnCall-Integration-Demo.mp4

Please check that:

  • It works as expected from a user's perspective.
  • If this is a pre-GA feature, it is behind a feature toggle.
  • The docs are updated, and if this is a notable improvement, it's added to our What's New doc.

@ephemeral-instances-bot
Copy link

Copy link
Contributor

@mckn mckn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work on this! Added a couple of questions/concerns regarding the components in grafana/ui. Also, I would love to get a demo of how this integration look to understand if this would be a good use case for UI extensions instead of spreading knowledge of the onCall app in alerting.

@@ -23,7 +23,7 @@ export interface RadioButtonListProps<T> {
className?: string;
}

export function RadioButtonList<T>({
export function RadioButtonList<T extends string | number | readonly string[]>({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could potentially be a breaking change have we considered that?

Copy link
Member

@soniaAguilarPeiron soniaAguilarPeiron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work!🚀

@mckn
Copy link
Contributor

mckn commented Sep 1, 2023

Great work on this! Added a couple of questions/concerns regarding the components in grafana/ui. Also, I would love to get a demo of how this integration look to understand if this would be a good use case for UI extensions instead of spreading knowledge of the onCall app in alerting.

Maybe @gillesdemey would be up for doing a demo?

please

@konrad147
Copy link
Contributor Author

/deploy-to-hg

@ephemeral-instances-bot
Copy link

  • Preparing your instance. A comment containing your instance's url will be added to this PR when the instance is ready.
  • Your instance will be ready in ~10 minutes.
  • Check the GitHub actions tab to follow the workflow progress
  • Slack channel: #proj-ephemeral-hg-instances
  • Building instance with alerting/custom-oncall-contact-point oss branch and main enterprise branch. How to choose a branch

@ephemeral-instances-bot
Copy link

@konrad147
Copy link
Contributor Author

I've added a demo to the PR's description

@gillesdemey
Copy link
Member

Maybe @gillesdemey would be up for doing a demo?

I think I'd like to pass this opportunity to @konrad147 to demo the hard work he put in to this (aside from reviewing the PR and contributing my thoughts on the implementation I didn't put it quite as much effort) :)

Is the demo Konrad attached to the PR helpful for the plugin team? We're always happy to schedule something and chat about the use-case too!

@mckn
Copy link
Contributor

mckn commented Sep 5, 2023

I've added a demo to the PR's description

Amazing, thanks 🙏🏻 Great work on this!

Copy link
Contributor

@mckn mckn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I might spend some time to see if this would be solvable (long term) with UI extensions.

Copy link
Contributor

@staton-hyse11 staton-hyse11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@konrad147
Copy link
Contributor Author

/deploy-to-hg

@ephemeral-instances-bot
Copy link

  • Preparing your instance. A comment containing your instance's url will be added to this PR when the instance is ready.
  • Your instance will be ready in ~10 minutes.
  • Check the GitHub actions tab to follow the workflow progress
  • Slack channel: #proj-ephemeral-hg-instances
  • Building instance with alerting/custom-oncall-contact-point oss branch and main enterprise branch. How to choose a branch

@ephemeral-instances-bot
Copy link

@konrad147 konrad147 merged commit 7baf9cc into main Sep 6, 2023
18 checks passed
@konrad147 konrad147 deleted the alerting/custom-oncall-contact-point branch September 6, 2023 10:33
chauchausoup pushed a commit to chauchausoup/grafana that referenced this pull request Sep 15, 2023
@zerok zerok modified the milestones: 10.2.x, 10.2.0 Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Create OnCall contact point in Alerting
9 participants