@@ -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+
249270function 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