How to trigger when a build status changes?

We have a pipeline configured thus:

  1. Pipeline A step 1 runs pipeline B
  2. Pipeline B step 1 runs, then fails
  3. Pipeline A step 2 examines results of pipeline B, sees it failed, and sends a Slack message to our oncall.
  4. The oncall investigates; they retry pipeline B, which now passes.
  5. A later, different oncall sees the failure message (step #3, above) and investigates. Pipeline A now appears to be passing! What happened?

It would be great to trigger a “pipeline A is now passing” slack message automatically when step #4 (retry successful) occurs. Any thoughts on whether that’s possible?

Hey @mrstevegross,

Your first question, this happened because the state of Pipeline A does not automatically update when Pipeline B is retried and passes. In Buildkite, once Pipeline B initially fails and Pipeline A processes that failure, the status of Pipeline A remains as it was unless explicitly updated or re-triggered. Retrying and successfully passing Pipeline B after the failure doesn’t automatically propagate the updated state back to Pipeline A, which is why the “failure” message was sent and the subsequent success wasn’t reflected.

The second one, one of the possible solution to implement custom logic based on the build_state re-trigger pipeline A, and based on that Pipeline A will detect and report the updated states.

If you still have some questions around your use case, please reach us out support@buildkite.com with the link to your pipeline.

Thanks,