Generic alert webhook

Problem to solve

We currently support webhooks from Prometheus, and we plan to also support Sentry webhooks as well. This model is not very extensible for us however, with a webhook for every single potential product out there that wants to route Alerts to GitLab.

What we should do, is to also build a GitLab alert webhook receiver that can accept alerts from any source. This way, we can define a common interface and other products can also build integrations on their side for GitLab. This could be other monitoring tools like Datadog, but also security tools which may also want to create incidents.

Having our own interface will also allow us to build features which may not be present in a Prometheus or Sentry webhook.

Target audience

  • Delaney, Development Team Lead, https://design.gitlab.com/research/personas#persona-delaney

  • Sasha, Software Developer, https://design.gitlab.com/research/personas#persona-sasha

  • Devon, DevOps Engineer, https://design.gitlab.com/research/personas#persona-devon

  • Sidney, Systems Administrator, https://design.gitlab.com/research/personas#persona-sidney

  • Sam, Security Analyst, https://design.gitlab.com/research/personas#persona-sam

Further details

Proposal

We should:

  1. Define and build a common alert webhook receiver interface
  2. Treat it is an input, similar to Prometheus and Sentry
  3. Potentially reach out to partners to let them know we have support for this, and offer them guidance on how to implement.

What does success look like, and how can we measure that?

Third parties can build integrations with GitLab to create incidents and issues, without having to contribute code directly to GitLab's source for their specific implementation.

Links / references

Edited Feb 11, 2019 by silv
Assignee Loading
Time tracking Loading