oncall-engine/docs/sources/integrations/webhook/index.md
Jack Baldry 1735db4c3b
Update all links to use docs/reference style (#2456)
# What this PR does

The `docs/reference` shortcode supports contextual destinations and
version inference.

`<ONCALL VERSION>` is inferred to match the version of the documentation
set. For example, the inferred version for the page
/docs/grafana/oncall/latest/get-started/ is "latest". It can also be
overriden using front matter.
Given the same page, but with the additional front matter
`oncall_version: next`, the variable is substituted with "next" rather
than "latest".

Contextual destinations are achieved using repeated labels in the
shortcode inner text. The format is [<LABEL>]: "<PAGE PATH PREFIX> ->
<HUGO REFERENCE>".

- _`<LABEL>`_ matches the reference style link label used in the rest of
the text.
- _`<PAGE PATH PREFIX>`_ is matched against the page during the
production build. If the match is successful, the destination that is
used is _`<HUGO REFERENCE>`_. The first matching prefix is used, not the
longest matching prefix.

## Which issue(s) this PR fixes

- Broken links due to ambiguous relref resolution. Any relref parameter
that does not start with either `/`, `./`, or `../` can resolve
ambiguously and is resulting in broken link behavior on the current
site.
- Broken links in Grafana Cloud. We mount OnCall documentation in
Grafana Cloud. In https://github.com/grafana/website/pull/13872 the
location will become /docs/grafana-cloud/alerting-and-irm/oncall. This
PR is intended to be merged alongside that PR.

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-07-13 14:38:35 +00:00

2.6 KiB
Raw Blame History

aliases canonical keywords title weight
../add-webhook-integration/
https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-webhook/
Grafana Cloud
Alerts
Notifications
on-call
Alertmanager
Prometheus
Inbound Webhook 700

Inbound Webhook integrations for Grafana OnCall

Grafana OnCall directly supports many integrations, those that arent currently listed in the Integrations menu can be connected using the webhook integration and configured alert templates.

With the webhook integration, you can connect to any alert source that isn't listed in the Create Integration page.

There are two available formats, Webhook and Formatted Webhook.

  • Webhook will pull all of the raw JSON payload and display it in the manner that it's received.

  • Formatted Webhook can be used if the alert payload sent by your monitoring service is formatted in a way that OnCall recognizes.

    The following fields are recognized, but none are required:

    • alert_uid: a unique alert ID for grouping.
    • title: a title.
    • image_url: a URL for an image attached to alert.
    • state: either ok or alerting. Helpful for auto-resolving.
    • link_to_upstream_details: link back to your monitoring system.
    • message: alert details.

To configure a webhook integration:

  1. In the Integrations tab, click + New integration to receive alerts.
  2. Select either Webhook or Formatted Webhook integration.
  3. Follow the configuration steps in the How to connect section of the integration settings.
  4. Use the unique webhook URL to complete any configuration in your monitoring service to send POST requests. Use any http client, e.g. curl to send POST requests with any payload.

For example:

curl -X POST \
https://a-prod-us-central-0.grafana.net/integrations/v1/formatted_webhook/m12xmIjOcgwH74UF8CN4dk0Dh/ \
-H 'Content-Type: Application/json' \
-d '{
    "alert_uid": "08d6891a-835c-e661-39fa-96b6a9e26552",
    "title": "The whole system is down",
    "image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ee/Grumpy_Cat_by_Gage_Skidmore.jpg",
    "state": "alerting",
    "link_to_upstream_details": "https://en.wikipedia.org/wiki/Downtime",
    "message": "Smth happened. Oh no!"
}'

To learn how to use custom alert templates for formatted webhooks, see [Configure alerts templates][jinja2-templating].

{{% docs/reference %}} [jinja2-templating]: "/docs/oncall/ -> /docs/oncall//jinja2-templating" [jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/jinja2-templating" {{% /docs/reference %}}