Skip to content

Commit 5c4b5b3

Browse files
authored
Merge pull request #161 from devtron-labs/slack-notif
misc: Timestamp formatting in slack template
2 parents 3fc68e7 + 1b357a7 commit 5c4b5b3

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

src/common/mustacheHelper.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ export class MustacheHelper {
8383
? date.unix()
8484
: date.format('dddd, MMMM Do YYYY hh:mm A [GMT]Z');
8585

86+
// For Slack, create a formatted timestamp string with the special Slack format
87+
// Using <!date^TIMESTAMP^{date_long} {time}> format which matches CD templates
88+
const slackTimestamp = isSlackNotification
89+
? `<!date^${date.unix()}^{date_long} {time} | "-">`
90+
: null;
91+
8692
let baseURL = event.baseUrl;
8793

8894
// Handle approval events FIRST (before checking pipelineType)
@@ -97,6 +103,7 @@ export class MustacheHelper {
97103

98104
return {
99105
eventTime: timestamp,
106+
slackTimestamp: slackTimestamp,
100107
triggeredBy: event.payload.triggeredBy || "NA",
101108
appName: event.payload.appName || "NA",
102109
envName: event.payload.envName || "NA",
@@ -124,6 +131,7 @@ export class MustacheHelper {
124131
}
125132
return {
126133
eventTime: timestamp,
134+
slackTimestamp: slackTimestamp,
127135
triggeredBy: event.payload.triggeredBy || "NA",
128136
appName: event.payload.appName || "NA",
129137
envName: envName,
@@ -179,6 +187,7 @@ export class MustacheHelper {
179187
if (baseURL && event.payload.buildHistoryLink) buildHistoryLink = `${baseURL}${event.payload.buildHistoryLink}`;
180188
const parsedEvent:ParsedCIEvent = {
181189
eventTime: timestamp,
190+
slackTimestamp: slackTimestamp,
182191
triggeredBy: event.payload.triggeredBy || "NA",
183192
appName: event.payload.appName || "NA",
184193
pipelineName: event.payload.pipelineName || "NA",
@@ -200,6 +209,7 @@ export class MustacheHelper {
200209

201210
return {
202211
eventTime: timestamp,
212+
slackTimestamp: slackTimestamp,
203213
triggeredBy: event.payload.triggeredBy || "NA",
204214
appName: event.payload.appName || "NA",
205215
envName: event.payload.envName || "NA",
@@ -229,6 +239,7 @@ export class MustacheHelper {
229239

230240
return {
231241
eventTime: timestamp,
242+
slackTimestamp: slackTimestamp,
232243
triggeredBy: event.payload.triggeredBy || "NA",
233244
appName: event.payload.appName || "NA",
234245
envName: event.payload.envName || envName,
@@ -433,6 +444,7 @@ export class WebhookData {
433444

434445
interface ParseArtifactPromotionEvent {
435446
eventTime: number | string;
447+
slackTimestamp?: string;
436448
triggeredBy: string;
437449
appName: string;
438450
envName: string;

src/common/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export interface ciMaterials {
2626
}//For Slack
2727
export interface ParsedCIEvent {
2828
eventTime: number | string;
29+
slackTimestamp?: string;
2930
triggeredBy: string;
3031
appName: string;
3132
pipelineName: string;
@@ -77,6 +78,7 @@ export interface WebhookParsedEvent {
7778
}
7879
export interface ParseApprovalEvent {
7980
eventTime: number | string;
81+
slackTimestamp?: string;
8082
triggeredBy: string;
8183
appName: string;
8284
pipelineName: string;
@@ -90,6 +92,7 @@ export interface ParseApprovalEvent {
9092
}
9193
export interface ParseConfigApprovalEvent {
9294
eventTime: number | string;
95+
slackTimestamp?: string;
9396
triggeredBy: string;
9497
appName: string;
9598
envName: string;
@@ -116,6 +119,7 @@ export interface ParsedScoopNotification {
116119

117120
export interface ParsedCDEvent {
118121
eventTime: number | string;
122+
slackTimestamp?: string;
119123
triggeredBy: string;
120124
appName: string;
121125
pipelineName: string;

0 commit comments

Comments
 (0)