Skip to content

Commit f0182ab

Browse files
authored
Alert emails now contain the Org name (#1555)
* Alert emails now contain the Org name * Adds org title to the alert parameters
1 parent 1105b9b commit f0182ab

File tree

5 files changed

+30
-7
lines changed

5 files changed

+30
-7
lines changed

apps/webapp/app/v3/services/alerts/deliverAlert.server.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ export class DeliverAlertService extends BaseService {
219219
environment: alert.environment.slug,
220220
error: createJsonErrorObject(taskRunError),
221221
attemptLink: `${env.APP_ORIGIN}/projects/v3/${alert.project.externalRef}/runs/${alert.taskRunAttempt.taskRun.friendlyId}`,
222+
organization: alert.project.organization.title,
222223
});
223224
} else {
224225
logger.error("[DeliverAlert] Task run attempt not found", {
@@ -244,6 +245,7 @@ export class DeliverAlertService extends BaseService {
244245
environment: alert.environment.slug,
245246
error: createJsonErrorObject(taskRunError),
246247
runLink: `${env.APP_ORIGIN}/projects/v3/${alert.project.externalRef}/runs/${alert.taskRun.friendlyId}`,
248+
organization: alert.project.organization.title,
247249
});
248250
} else {
249251
logger.error("[DeliverAlert] Task run not found", {
@@ -276,6 +278,7 @@ export class DeliverAlertService extends BaseService {
276278
failedAt: alert.workerDeployment.failedAt ?? new Date(),
277279
error: preparedError,
278280
deploymentLink: `${env.APP_ORIGIN}/projects/v3/${alert.project.externalRef}/deployments/${alert.workerDeployment.shortCode}`,
281+
organization: alert.project.organization.title,
279282
});
280283
} else {
281284
logger.error("[DeliverAlert] Worker deployment not found", {
@@ -296,6 +299,7 @@ export class DeliverAlertService extends BaseService {
296299
deployedAt: alert.workerDeployment.deployedAt ?? new Date(),
297300
deploymentLink: `${env.APP_ORIGIN}/projects/v3/${alert.project.externalRef}/deployments/${alert.workerDeployment.shortCode}`,
298301
taskCount: alert.workerDeployment.worker?.tasks.length ?? 0,
302+
organization: alert.project.organization.title,
299303
});
300304
} else {
301305
logger.error("[DeliverAlert] Worker deployment not found", {

internal-packages/emails/emails/alert-attempt-failure.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export const AlertAttemptEmailSchema = z.object({
2727
stackTrace: z.string().optional(),
2828
}),
2929
attemptLink: z.string().url(),
30+
organization: z.string(),
3031
});
3132

3233
const previewDefaults = {
@@ -44,15 +45,24 @@ const previewDefaults = {
4445
};
4546

4647
export default function Email(props: z.infer<typeof AlertAttemptEmailSchema>) {
47-
const { taskIdentifier, fileName, exportName, version, environment, error, attemptLink } = {
48+
const {
49+
taskIdentifier,
50+
fileName,
51+
exportName,
52+
version,
53+
environment,
54+
error,
55+
attemptLink,
56+
organization,
57+
} = {
4858
...previewDefaults,
4959
...props,
5060
};
5161

5262
return (
5363
<Html>
5464
<Head />
55-
<Preview>{`[${version}.${environment} ${taskIdentifier}] ${error.message}`}</Preview>
65+
<Preview>{`${organization}: [${version}.${environment} ${taskIdentifier}] ${error.message}`}</Preview>
5666
<Body style={main}>
5767
<Container style={container}>
5868
<Text style={h1}>There's been an error on `{taskIdentifier}`</Text>
@@ -61,6 +71,7 @@ export default function Email(props: z.infer<typeof AlertAttemptEmailSchema>) {
6171
<Text style={paragraphTight}>Function: {exportName}()</Text>
6272
<Text style={paragraphTight}>Version: {version}</Text>
6373
<Text style={paragraphTight}>Environment: {environment}</Text>
74+
<Text style={paragraphTight}>Organization: {organization}</Text>
6475

6576
<Text style={paragraphLight}>{error.message}</Text>
6677
{error.stackTrace && (

internal-packages/emails/emails/alert-run-failure.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const AlertRunEmailSchema = z.object({
3030
stackTrace: z.string().optional(),
3131
}),
3232
runLink: z.string().url(),
33+
organization: z.string(),
3334
});
3435

3536
type AlertRunEmailProps = z.infer<typeof AlertRunEmailSchema>;
@@ -49,6 +50,7 @@ const previewDefaults: AlertRunEmailProps = {
4950
stackTrace: "Error stack trace",
5051
},
5152
runLink: "https://trigger.dev",
53+
organization: "my-organization",
5254
};
5355

5456
export default function Email(props: AlertRunEmailProps) {
@@ -62,6 +64,7 @@ export default function Email(props: AlertRunEmailProps) {
6264
environment,
6365
error,
6466
runLink,
67+
organization,
6568
} = {
6669
...previewDefaults,
6770
...props,
@@ -70,10 +73,11 @@ export default function Email(props: AlertRunEmailProps) {
7073
return (
7174
<Html>
7275
<Head />
73-
<Preview>{`[${version}.${environment} ${taskIdentifier}] ${error.message}`}</Preview>
76+
<Preview>{`${organization}: [${version}.${environment} ${taskIdentifier}] ${error.message}`}</Preview>
7477
<Body style={main}>
7578
<Container style={container}>
7679
<Text style={h1}>Run `{runId}` failed</Text>
80+
<Text style={paragraphTight}>Organization: {organization}</Text>
7781
<Text style={paragraphTight}>Project: {project}</Text>
7882
<Text style={paragraphTight}>Task ID: {taskIdentifier}</Text>
7983
<Text style={paragraphTight}>Filename: {fileName}</Text>

internal-packages/emails/emails/deployment-failure.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const AlertDeploymentFailureEmailSchema = z.object({
1818
email: z.literal("alert-deployment-failure"),
1919
version: z.string(),
2020
environment: z.string(),
21+
organization: z.string(),
2122
shortCode: z.string(),
2223
failedAt: z.date(),
2324
error: z.object({
@@ -31,6 +32,7 @@ export const AlertDeploymentFailureEmailSchema = z.object({
3132
const previewDefaults = {
3233
version: "v1",
3334
environment: "production",
35+
organization: "My Organization",
3436
shortCode: "abc123",
3537
failedAt: new Date().toISOString(),
3638
error: {
@@ -41,15 +43,15 @@ const previewDefaults = {
4143
};
4244

4345
export default function Email(props: z.infer<typeof AlertDeploymentFailureEmailSchema>) {
44-
const { version, environment, shortCode, failedAt, error, deploymentLink } = {
46+
const { version, environment, organization, shortCode, failedAt, error, deploymentLink } = {
4547
...previewDefaults,
4648
...props,
4749
};
4850

4951
return (
5052
<Html>
5153
<Head />
52-
<Preview>{`Deployment ${version} [${environment}] failed: ${error.name}`}</Preview>
54+
<Preview>{`[${organization}] Deployment ${version} [${environment}] failed: ${error.name}`}</Preview>
5355
<Body style={main}>
5456
<Container style={container}>
5557
<Text style={h1}>{`An error occurred deploying ${version} in ${environment}`}</Text>

internal-packages/emails/emails/deployment-success.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export const AlertDeploymentSuccessEmailSchema = z.object({
88
email: z.literal("alert-deployment-success"),
99
version: z.string(),
1010
environment: z.string(),
11+
organization: z.string(),
1112
shortCode: z.string(),
1213
deployedAt: z.date(),
1314
taskCount: z.number(),
@@ -17,22 +18,23 @@ export const AlertDeploymentSuccessEmailSchema = z.object({
1718
const previewDefaults = {
1819
version: "v1",
1920
environment: "production",
21+
organization: "My Organization",
2022
shortCode: "abc123",
2123
deployedAt: new Date().toISOString(),
2224
taskCount: 3,
2325
deploymentLink: "https://trigger.dev",
2426
};
2527

2628
export default function Email(props: z.infer<typeof AlertDeploymentSuccessEmailSchema>) {
27-
const { version, environment, shortCode, deployedAt, taskCount, deploymentLink } = {
29+
const { version, environment, organization, shortCode, deployedAt, taskCount, deploymentLink } = {
2830
...previewDefaults,
2931
...props,
3032
};
3133

3234
return (
3335
<Html>
3436
<Head />
35-
<Preview>{`Deployment ${version} [${environment}] succeeded`}</Preview>
37+
<Preview>{`[${organization}] Deployment ${version} [${environment}] succeeded`}</Preview>
3638
<Body style={main}>
3739
<Container style={container}>
3840
<Text

0 commit comments

Comments
 (0)