diff --git a/src/common/mustacheHelper.ts b/src/common/mustacheHelper.ts index 200e613..4d71618 100644 --- a/src/common/mustacheHelper.ts +++ b/src/common/mustacheHelper.ts @@ -83,6 +83,12 @@ export class MustacheHelper { ? date.unix() : date.format('dddd, MMMM Do YYYY hh:mm A [GMT]Z'); + // For Slack, create a formatted timestamp string with the special Slack format + // Using format which matches CD templates + const slackTimestamp = isSlackNotification + ? `` + : null; + let baseURL = event.baseUrl; // Handle approval events FIRST (before checking pipelineType) @@ -97,6 +103,7 @@ export class MustacheHelper { return { eventTime: timestamp, + slackTimestamp: slackTimestamp, triggeredBy: event.payload.triggeredBy || "NA", appName: event.payload.appName || "NA", envName: event.payload.envName || "NA", @@ -124,6 +131,7 @@ export class MustacheHelper { } return { eventTime: timestamp, + slackTimestamp: slackTimestamp, triggeredBy: event.payload.triggeredBy || "NA", appName: event.payload.appName || "NA", envName: envName, @@ -179,6 +187,7 @@ export class MustacheHelper { if (baseURL && event.payload.buildHistoryLink) buildHistoryLink = `${baseURL}${event.payload.buildHistoryLink}`; const parsedEvent:ParsedCIEvent = { eventTime: timestamp, + slackTimestamp: slackTimestamp, triggeredBy: event.payload.triggeredBy || "NA", appName: event.payload.appName || "NA", pipelineName: event.payload.pipelineName || "NA", @@ -200,6 +209,7 @@ export class MustacheHelper { return { eventTime: timestamp, + slackTimestamp: slackTimestamp, triggeredBy: event.payload.triggeredBy || "NA", appName: event.payload.appName || "NA", envName: event.payload.envName || "NA", @@ -229,6 +239,7 @@ export class MustacheHelper { return { eventTime: timestamp, + slackTimestamp: slackTimestamp, triggeredBy: event.payload.triggeredBy || "NA", appName: event.payload.appName || "NA", envName: event.payload.envName || envName, @@ -433,6 +444,7 @@ export class WebhookData { interface ParseArtifactPromotionEvent { eventTime: number | string; + slackTimestamp?: string; triggeredBy: string; appName: string; envName: string; diff --git a/src/common/types.ts b/src/common/types.ts index 0e0fbb9..e236bcd 100644 --- a/src/common/types.ts +++ b/src/common/types.ts @@ -26,6 +26,7 @@ export interface ciMaterials { }//For Slack export interface ParsedCIEvent { eventTime: number | string; + slackTimestamp?: string; triggeredBy: string; appName: string; pipelineName: string; @@ -77,6 +78,7 @@ export interface WebhookParsedEvent { } export interface ParseApprovalEvent { eventTime: number | string; + slackTimestamp?: string; triggeredBy: string; appName: string; pipelineName: string; @@ -90,6 +92,7 @@ export interface ParseApprovalEvent { } export interface ParseConfigApprovalEvent { eventTime: number | string; + slackTimestamp?: string; triggeredBy: string; appName: string; envName: string; @@ -116,6 +119,7 @@ export interface ParsedScoopNotification { export interface ParsedCDEvent { eventTime: number | string; + slackTimestamp?: string; triggeredBy: string; appName: string; pipelineName: string;