diff --git a/server/emails/templates/WebhookDisabledEmail.tsx b/server/emails/templates/WebhookDisabledEmail.tsx new file mode 100644 index 000000000..e76308960 --- /dev/null +++ b/server/emails/templates/WebhookDisabledEmail.tsx @@ -0,0 +1,63 @@ +import * as React from "react"; +import BaseEmail from "./BaseEmail"; +import Body from "./components/Body"; +import Button from "./components/Button"; +import EmailTemplate from "./components/EmailLayout"; +import EmptySpace from "./components/EmptySpace"; +import Footer from "./components/Footer"; +import Header from "./components/Header"; +import Heading from "./components/Heading"; + +type Props = { + to: string; + teamUrl: string; + webhookName: string; +}; + +/** + * Email sent to the creator of a webhook when the webhook has become disabled + * due to repeated failure. + */ +export default class WebhookDisabledEmail extends BaseEmail { + protected subject() { + return `Warning: Webhook disabled`; + } + + protected preview({ webhookName }: Props) { + return `Your webhook (${webhookName}) has been disabled`; + } + + protected renderAsText({ webhookName, teamUrl }: Props): string { + return ` +Your webhook (${webhookName}) has been automatically disabled as the last 25 +delivery attempts have failed. You can re-enable by editing the webhook. + +Webhook settings: ${teamUrl}/settings/webhooks +`; + } + + protected render({ webhookName, teamUrl }: Props) { + return ( + +
+ + + Webhook disabled +

+ Your webhook ({webhookName}) has been automatically disabled as the + last 25 delivery attempts have failed. You can re-enable by editing + the webhook. +

+ +

+ +

+ + +