Skip to content

Commit a675de7

Browse files
authored
convert "ecs stopped task" event to Slack message
https://ucsc-cgl.atlassian.net/browse/SEAB-5860
1 parent 6eb8130 commit a675de7

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

  • cloud-watch-to-slack-testing/deployment

cloud-watch-to-slack-testing/deployment/index.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,27 @@ function s3ActivityMessageText(message) {
246246
return `${userName} generated S3 event ${eventName} from region ${awsRegion} for bucket ${bucketName} in Dockstore ${dockstoreEnvironment}`;
247247
}
248248

249+
function ecsActivityMessageText(message) {
250+
if (message["detail-type"] === "ECS Task State Change") {
251+
return ecsTaskStateChangeMessageText(message);
252+
} else {
253+
return ecsAutoScalingMessageText(message);
254+
}
255+
}
256+
257+
function ecsTaskStateChangeMessageText(message) {
258+
const taskArn = message?.detail?.taskArn;
259+
const lastStatus = message?.detail?.lastStatus;
260+
let messageText = `Task ${taskArn} is now ${lastStatus}`;
261+
["startedAt", "stoppedAt", "stoppedReason"].forEach((name) => {
262+
const value = message?.detail?.[name];
263+
if (value != undefined) {
264+
messageText += `\n${name}: ${value}`;
265+
}
266+
});
267+
return messageText;
268+
}
269+
249270
function ecsAutoScalingMessageText(message) {
250271
const serviceName = message.detail.requestParameters.service;
251272
const newDesiredCount = message.detail.requestParameters.desiredCount;
@@ -268,7 +289,7 @@ function messageTextFromMessageObject(message) {
268289
} else if (message.source === "dockstore.deployer") {
269290
return dockstoreDeployerMessageText(message);
270291
} else if (message.source === "aws.ecs") {
271-
return ecsAutoScalingMessageText(message);
292+
return ecsActivityMessageText(message);
272293
} else if (message.source === "aws.cloudwatch") {
273294
return cloudWatchEventBridgeAlarmMessageText(message);
274295
} else {

0 commit comments

Comments
 (0)