Step-level notifications for webhooks

Buildkite steps have Step-level notifications for slack, but not for webhooks.

In my use case, I am running e2e tests in separate steps, each step testing in a different environment. I want each step to notify a different Microsoft Teams channel via a webhook. The only way I can currently achieve this (to my knowledge), is by creating a separate pipeline for each environment and having a root level webhook notify for each pipeline.

I’d rather avoid this and be able to trigger a separate notification for each step.

This request is similar to the following post, but about webhooks rather than email

Hello @mitchell.moxiworks!

Thanks for the message - and for the callout to the previous example of step level email notifications. I’ll raise this up with the Product folks to assess and whom may have additional questions but I believe your explanation covers that nicely.

Cheers :slightly_smiling_face:

James

Thanks James, I appreciate it :slight_smile:

Hi @mitchell.moxiworks ,

I am from the product team at Buildkite. Thanks for explaining your problem so thoroughly.

I just wanted to ask if you notify upon failure or also upon success? Do you ever find yourself needing custom notifications?

Unfortunately we do not have any work planned around this area in the next 6 months. I will touch base when we are doing improvements in this area and also keep your response in our notes for this feedback.

Hey @Ozdenyilmaz,

We currently have it set up that each environment has it’s own pipeline, and each pipeline has a separate Microsoft teams webhook to notify to. We are using this Microsoft Teams app at the moment (I apologise I couldn’t find a link to a website, just directly to the teams app itself) - Join conversation

We receive both failure and success notifications, but if I’m being honest I think I plan to remove the success. It creates too much noise and means that the failure notifications can be lost.

At this point I can’t imagine we’d need custom notifications. Conditional Notifications are useful though, it’s a feature we currently use.

I completely understand that you’d already have a full backlog, just glad this is on the radar. Our current solution works perfectly fine for now :slight_smile:

Hi @Ozdenyilmaz just an update, we’ve recently found we could benefit from creating custom notifications. Being able to create a custom json payload utilising buildkite build params would allow us to build more powerful notifications.

For example, with microsoft teams we might want to format the payload like below. Note all those values I’ve ripped straight out of an example webhook sent from buildkite (e.g pipeline.name, sender.name …)

{
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "size": "Medium",
            "weight": "Bolder",
            "text": "${pipeline.name} #${build.number} ${build.state}"
        },
        {
            "type": "TextBlock",
            "text": "Author: ${sender.name}"
        },
        {
            "type": "TextBlock",
            "text": "Repository: ${pipeline.repository}",
            "wrap": true
        },
              {
            "type": "TextBlock",
            "text": "Commit: ${build.commit}",
            "wrap": true
        }
    ],
    "actions": [
        {
            "type": "Action.OpenUrl",
            "title": "View in buildkite",
            "url": "${pipeline.web_url}/builds/${build.number}"
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.5"
}

Where the output would show as:
image

Hi @mitchell.moxiworks, thanks for the update! Am I correct in assuming that your feedback is no longer as urgent and you now have a workaround?

Thanks,
Oz

Hi @Ozdenyilmaz my original feature suggestion still applies, and whilst not urgent it would be an improvement to our current system.

My last point was in addition, honestly would be a separate feature. I just posted here in response to your question “Do you ever find yourself needing custom notifications?” here