The moment it happens
Get alerted when a pipeline run fails
A failed build on your main pipeline is posted right away, so nobody merges on top of it.
- Runs
- The moment it happens
- Apps
- Azure DevOps
- AI
- Not needed
- Access
- Build Read
Send this to your assistant
Create a ClickRuntime automation: when a build of our main-ci pipeline in Azure DevOps fails, post the pipeline name, branch and link to #builds in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A CI pipeline fails at 6 pm on Friday and nobody notices. The developer who pushed the change has gone home, the Azure DevOps dashboard is not on anyone's screen, and the email notification from Azure goes to an inbox buried under other messages. On Monday the team discovers that the main branch has been red all weekend, three more commits landed on top of the break, and the release planned for the morning is already late.
When a pipeline run completes in Azure DevOps, a service hook sends the event to ClickRuntime. ClickRuntime reads the result, and if it is failed, posts a message to Slack with the pipeline name, the branch and a link to the run, so someone can open the logs.
Teams that rely on a broken main branch being fixed quickly use it to make failures a shared, visible event.
What you get out of it
The main branch is repaired the same day
A failure posted to a channel gets a reply within minutes. The break is fixed before more commits pile on top and make it harder to find which change caused it.
Weekend and evening failures are not missed
Scheduled and overnight pipelines fail when nobody is watching. A message in Slack reaches whoever is on call or checks the channel first thing in the morning. Someone on call or an early riser sees it first.
Responsibility becomes clear in the thread
The message names the pipeline and branch, so the person who pushed the change can say they are on it. Nobody has to ask who owns the red build. Nobody has to ask who is looking into the red build.
Releases are less likely to slip
Planned deployments depend on green builds. Knowing about a failure early gives the team time to fix it without moving the release date. Release dates move far less often when failures are known early.
Only failures create noise
Successful runs stay quiet, which means the channel stays useful. When a message appears, people know it needs attention instead of learning to ignore it. A message therefore always means something needs attention.
How it works
What happens, step by step
Each time a build finishes on your main Azure DevOps pipeline, Azure DevOps tells ClickRuntime straight away.
If the build passed, nothing happens.
If it failed, a message goes to #builds with the pipeline, branch, build number and a link to the results.
Before it runs live
- Connect Azure DevOps
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Azure DevOps steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify
PIPELINE = "main-ci"
@on_event
def handle(event):
body = event.json or {}
if body.get("eventType") != "build.complete":
return {"skipped": body.get("eventType")}
build = body["resource"]
if build["definition"]["name"] != PIPELINE or build.get("result") != "failed":
return {"skipped": f"{build['definition']['name']} {build.get('result')}"}
branch = build.get("sourceBranch", "").replace("refs/heads/", "")
notify.slack(f":x: {PIPELINE} failed on {branch} ({build.get('buildNumber')})\n{build['_links']['web']['href']}",
channel="#builds")
return {"build": build["id"]}FAQ
Common questions
How do I connect Azure DevOps to ClickRuntime?
Can I limit alerts to certain pipelines or branches?
Does it also report partially succeeded builds?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a message when a pull request opens
Reviewers see each new pull request with its title, author and link as soon as it's created.
See how it worksGet your open work items by email each morning
You start the day with a list of every work item assigned to you that isn't closed.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Get alerted when a pipeline run fails” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.