Conditional Notifications

We have a project set up where every commit to master starts a new pipeline that deploys to our integration environment. In this project’s pipelines, there are Manual Judgment stages for “promote to staging” and “promote to production”.

Our Manual Judgment stages are set to failPipeline: true, and stageTimeoutMs: 1209600000 (14 days). The goal with these stage timeouts is to clear out our pipelines over time since we only very rarely go back to deploy a version more than a few days old.

This is all working great except for our Slack integration. This project is set to notify Slack on “pipeline.failed”. The problem is that we get these failure notifications on a rolling basis as the old pipelines expire; this makes it look like things are failing - technically they are, but it’s really just that the old pipelines are timing out.

Is there a way for us to do this better so that we can clear out old pipelines in a way such that they don’t fail? Or else can we do something to prevent notifcation if the failure is from a given step (such as one of our manual judgment stages)? Or is there a better way to do this in the first place? Thank you.

1 Like