Sentry
Receive Sentry issue alerts in Plural
A Sentry webhook delivers issue alerts from Sentry into Plural. Sentry sends them from an internal integration that you add as an action on an alert rule. Each alert becomes an alert in Plural, keyed by the Sentry issue, so later alerts for the same issue update it. Sentry generates the signing secret, the integration's Client Secret, and you paste it into Plural.
An alert does not start a job by itself. A job starts only when a webhook trigger on a workbench matches it, and only when the alert is new. Plural never marks a Sentry alert resolved, so later alerts for the same Sentry issue update it but do not start another job.
What Plural reads from the payload
Plural accepts only issue alert deliveries, the ones Sentry sends with the Sentry-Hook-Resource: event_alert header. The event that triggered the rule is under data.event:
{
"action": "triggered",
"data": {
"event": {
"issue_id": "1117540176",
"issue_url": "https://sentry.io/api/0/issues/1117540176/",
"title": "ReferenceError: heck is not defined",
"exception": {
"values": [
{
"type": "ReferenceError",
"value": "heck is not defined",
"stacktrace": {
"frames": [
{ "filename": "/static/app.js", "lineno": 1, "colno": 10866, "function": "render", "context_line": "heck()" }
]
}
}
]
},
"tags": [["level", "error"], ["plrl.flow", "checkout"]]
},
"triggered_rule": "Checkout errors"
}
}event.issue_ididentifies the alert. Later alerts for the same Sentry issue update it instead of creating a new one.event.titlebecomes the alert title, andevent.issue_urlthe link back to Sentry.- The summary is the title followed by the frames of the first exception's stack trace: file, line, column, function, and the source line for each frame.
event.tagsare stored with the alert.
Every Sentry alert is stored as firing with high severity. Plural does not read the event level or the rule name.
A workbench trigger matches against the alert title and summary, not the raw payload. When several triggers on the webhook match, the one with the highest priority wins.
Associate alerts with a flow
Plural keeps an alert only when a workbench trigger matches it or a plrl.flow tag on the event names an existing Plural flow. Otherwise the alert is acknowledged and ignored. Set the tag in your Sentry SDK, for example Sentry.setTag("plrl.flow", "checkout"). Plural does not associate Sentry alerts with projects, clusters, or services.