@@ -141,7 +141,7 @@ func (s *Notifier) queueNotification(receiverIDs []string, oauthSecret string, a
141141}
142142
143143// accumulate messages
144- func buildMessageBlocks (events []event ) []api.Block {
144+ func buildMessageBlocks (events []event , workerErrChan chan error ) []api.Block {
145145 var blocks []api.Block
146146
147147 // core details related to event
@@ -150,8 +150,7 @@ func buildMessageBlocks(events []event) []api.Block {
150150 fieldSlice = append (fieldSlice , api .NewTextBlockObject ("mrkdwn" , fmt .Sprintf ("*Job:*\n %s" , evt .jobName ), false , false ))
151151 fieldSlice = append (fieldSlice , api .NewTextBlockObject ("mrkdwn" , fmt .Sprintf ("*Owner:*\n %s" , evt .owner ), false , false ))
152152
153- switch evt .meta .Type {
154- case models .SLAMissEvent :
153+ if evt .meta .Type .IsOfType (models .SLAMissEvent ) {
155154 heading := api .NewTextBlockObject ("plain_text" ,
156155 fmt .Sprintf ("[Job] SLA Breached | %s/%s" , evt .projectName , evt .namespaceName ), true , false )
157156 blocks = append (blocks , api .NewHeaderBlock (heading ))
@@ -179,7 +178,7 @@ func buildMessageBlocks(events []event) []api.Block {
179178 }
180179 }
181180 }
182- case models .JobFailureEvent :
181+ } else if evt . meta . Type . IsOfType ( models .JobFailureEvent ) {
183182 heading := api .NewTextBlockObject ("plain_text" ,
184183 fmt .Sprintf ("[Job] Failure | %s/%s" , evt .projectName , evt .namespaceName ), true , false )
185184 blocks = append (blocks , api .NewHeaderBlock (heading ))
@@ -193,8 +192,8 @@ func buildMessageBlocks(events []event) []api.Block {
193192 if taskID , ok := evt .meta .Value ["task_id" ]; ok && taskID .GetStringValue () != "" {
194193 fieldSlice = append (fieldSlice , api .NewTextBlockObject ("mrkdwn" , fmt .Sprintf ("*Task ID:*\n %s" , taskID .GetStringValue ()), false , false ))
195194 }
196- default :
197- // unknown event
195+ } else {
196+ workerErrChan <- fmt . Errorf ( "worker_buildMessageBlocks: unknown event type: %v" , evt . meta . Type )
198197 continue
199198 }
200199
@@ -249,7 +248,7 @@ func (s *Notifier) Worker(ctx context.Context) {
249248 continue
250249 }
251250 var messageOptions []api.MsgOption
252- messageOptions = append (messageOptions , api .MsgOptionBlocks (buildMessageBlocks (events )... ))
251+ messageOptions = append (messageOptions , api .MsgOptionBlocks (buildMessageBlocks (events , s . workerErrChan )... ))
253252 messageOptions = append (messageOptions , api .MsgOptionAsUser (true ))
254253
255254 client := api .New (route .authToken , api .OptionAPIURL (s .slackURL ))
0 commit comments