Duplicate slack notification on docker push

I have a pipeline which can be triggered either by docker push or webhook. When I invoke the pipeline either manually or by webhook I get a single pair of notifications sent to slack:

pipeline is starting
pipeline has completed successfully

When I trigger the same pipeline using a docker push I get duplicate notifications:

pipeline is starting
pipeline is starting
pipeline has completed successfully
pipeline has completed successfully

slack

echo pod log:

2018-12-08 21:52:07.412  INFO 1 --- [RxIoScheduler-3] c.n.s.e.n.SlackNotificationAgent         : Sending Slack message address=xxx for application=devplatsvc01 type=pipeline status=starting executionId=xxx
2018-12-08 21:53:07.457  INFO 1 --- [RxIoScheduler-3] c.n.s.e.n.SlackNotificationAgent         : Sending Slack message address=xxx for application=devplatsvc01 type=pipeline status=complete executionId=xxx

@Steve_Szabo, have you found a solution to that issue?

Encountered the same issue on version 1.16.0.

ECHO logs:

2019-11-24 15:01:14.571  INFO 1 --- [IoScheduler-383] c.n.spinnaker.fiat.shared.FiatService    : ---> HTTP GET http://spin-fiat.spinnaker:7003/authorize/f4ee116e-7132-46e2-b6ae-dc3883dac68b%40managed-service-account
2019-11-24 15:01:14.576  INFO 1 --- [IoScheduler-383] c.n.spinnaker.fiat.shared.FiatService    : <--- HTTP 200 http://spin-fiat.spinnaker:7003/authorize/f4ee116e-7132-46e2-b6ae-dc3883dac68b%40managed-service-account (5ms)
2019-11-24 15:01:14.579  INFO 1 --- [IoScheduler-383] c.n.s.e.p.monitor.TriggerMonitor         : Found matching pipeline test-application:Development
2019-11-24 15:01:14.579  INFO 1 --- [IoScheduler-383] c.n.s.e.p.orca.PipelineInitiator         : Triggering Pipeline(test-application, Development, f4ee116e-7132-46e2-b6ae-dc3883dac68b) due to Trigger(9e8f4861-e545-3400-94c2-8a84dbb2b1af, docker, null, null, null, null, null, null, null, null, null, null, null, null, null, docker-hub-private, test-application-dev, 1.1.1-test001, null, null, null, [03fb21ee-fe8b-413f-875a-ee1655e4ca00], null, null, null, f4ee116e-7132-46e2-b6ae-dc3883dac68b@managed-service-account, null, null, Pipeline(test-application, Development, f4ee116e-7132-46e2-b6ae-dc3883dac68b))
2019-11-24 15:01:14.580  INFO 1 --- [ool-2-thread-12] c.n.s.e.p.orca.OrcaService               : ---> HTTP POST http://spin-orca.spinnaker:8083/orchestrate
2019-11-24 15:01:14.616  WARN 1 --- [ool-2-thread-12] c.n.s.okhttp.OkHttpMetricsInterceptor    : Request POST:http://spin-orca.spinnaker:8083/orchestrate is missing [X-SPINNAKER-ACCOUNTS] authentication headers and will be treated as anonymous.
Request from: com.netflix.spinnaker.okhttp.MetricsInterceptor.doIntercept(MetricsInterceptor.java:94)
	at com.netflix.spinnaker.okhttp.OkHttpMetricsInterceptor.intercept(OkHttpMetricsInterceptor.java:33)
	at com.netflix.spinnaker.echo.pipelinetriggers.orca.PipelineInitiator.triggerWithRetries(PipelineInitiator.java:260)
	at com.netflix.spinnaker.echo.pipelinetriggers.orca.PipelineInitiator.lambda$triggerPipelineImpl$2(PipelineInitiator.java:211)
	at com.netflix.spinnaker.security.AuthenticatedRequest.lambda$propagate$0(AuthenticatedRequest.java:127)
	at com.netflix.spinnaker.echo.pipelinetriggers.orca.PipelineInitiator.triggerPipelineImpl(PipelineInitiator.java:211)
	at com.netflix.spinnaker.echo.pipelinetriggers.orca.PipelineInitiator.lambda$triggerPipeline$1(PipelineInitiator.java:183)
	at com.netflix.spinnaker.security.AuthenticatedRequest.lambda$propagate$0(AuthenticatedRequest.java:127)
2019-11-24 15:01:14.616  INFO 1 --- [ool-2-thread-12] c.n.s.e.p.orca.OrcaService               : <--- HTTP 200 http://spin-orca.spinnaker:8083/orchestrate (35ms)
2019-11-24 15:01:14.616  INFO 1 --- [ool-2-thread-12] c.n.s.e.p.orca.PipelineInitiator         : Successfully triggered Pipeline(test-application, Development, f4ee116e-7132-46e2-b6ae-dc3883dac68b): execution id: /pipelines/01DTEYXQ6VG9TFFEN3AECA22JC
2019-11-24 15:01:14.706  INFO 1 --- [IoScheduler-382] c.n.s.e.n.SlackNotificationAgent         : Sending Slack message address=my_team_channel for application=test-application type=pipeline status=starting executionId=01DTEYXQ6VG9TFFEN3AECA22JC
2019-11-24 15:01:14.726  INFO 1 --- [IoScheduler-382] c.n.spinnaker.echo.slack.SlackClient     : ---> HTTP POST https://slack.com/api/chat.postMessage
2019-11-24 15:01:14.833  INFO 1 --- [IoScheduler-382] c.n.spinnaker.echo.slack.SlackClient     : <--- HTTP 200 https://slack.com/api/chat.postMessage (107ms)
2019-11-24 15:01:14.836  INFO 1 --- [IoScheduler-382] c.n.s.e.n.SlackNotificationAgent         : Received response from Slack: 200 OK for execution id 01DTEYXQ6VG9TFFEN3AECA22JC. TypedByteArray[length=1311]
2019-11-24 15:01:17.443  INFO 1 --- [pool-1-thread-1] c.n.s.echo.services.Front50Service       : ---> HTTP GET http://spin-front50.spinnaker:8080/pipelines?restricted=false
2019-11-24 15:01:17.454  INFO 1 --- [pool-1-thread-1] c.n.s.echo.services.Front50Service       : <--- HTTP 200 http://spin-front50.spinnaker:8080/pipelines?restricted=false (10ms)
2019-11-24 15:01:18.459  INFO 1 --- [eduler_Worker-5] c.n.s.e.s.a.p.PipelineConfigsPollingJob  : Running the pipeline configs polling agent...
2019-11-24 15:01:18.459  INFO 1 --- [eduler_Worker-5] c.n.s.e.s.a.p.PipelineConfigsPollingJob  : Done polling for pipeline configs in 0s
2019-11-24 15:01:47.455  INFO 1 --- [pool-1-thread-1] c.n.s.echo.services.Front50Service       : ---> HTTP GET http://spin-front50.spinnaker:8080/pipelines?restricted=false
2019-11-24 15:01:47.463  INFO 1 --- [pool-1-thread-1] c.n.s.echo.services.Front50Service       : <--- HTTP 200 http://spin-front50.spinnaker:8080/pipelines?restricted=false (8ms)
2019-11-24 15:01:48.458  INFO 1 --- [eduler_Worker-6] c.n.s.e.s.a.p.PipelineConfigsPollingJob  : Running the pipeline configs polling agent...
2019-11-24 15:01:48.459  INFO 1 --- [eduler_Worker-6] c.n.s.e.s.a.p.PipelineConfigsPollingJob  : Done polling for pipeline configs in 0.001s
2019-11-24 15:01:51.180  INFO 1 --- [IoScheduler-383] c.n.s.e.n.SlackNotificationAgent         : Sending Slack message address=my_team_channel for application=test-application type=pipeline status=complete executionId=01DTEYXQ6VG9TFFEN3AECA22JC
2019-11-24 15:01:51.183  INFO 1 --- [IoScheduler-383] c.n.spinnaker.echo.slack.SlackClient     : ---> HTTP POST https://slack.com/api/chat.postMessage
2019-11-24 15:01:51.276  INFO 1 --- [IoScheduler-383] c.n.spinnaker.echo.slack.SlackClient     : <--- HTTP 200 https://slack.com/api/chat.postMessage (92ms)
2019-11-24 15:01:51.276  INFO 1 --- [IoScheduler-383] c.n.s.e.n.SlackNotificationAgent         : Received response from Slack: 200 OK for execution id 01DTEYXQ6VG9TFFEN3AECA22JC. TypedByteArray[length=1341]