BuildButler

Notifications

Configure Slack, email, Teams, PagerDuty, and webhook notifications for build events.

BuildButler can notify your team through multiple channels whenever a build event occurs. This page covers setup for each supported channel.

Slack

Option A — Incoming Webhook

  1. Go to Slack API → Incoming Webhooks.
  2. Create a new webhook for your workspace and channel.
  3. Copy the webhook URL.
  4. In BuildButler, go to Settings → Notifications → Add Channel → Slack.
  5. Paste the webhook URL.

Option B — BuildButler Slack App

Install the BuildButler Slack App for richer messages with interactive buttons (re-run build, mute alert, view logs).

# Test the Slack integration
buildbutler notify test --channel slack

Email

Configure SMTP or use a transactional email provider:

VariableExample
SMTP_HOSTsmtp.sendgrid.net
SMTP_PORT587
SMTP_USERapikey
SMTP_PASSSG.xxxx
SMTP_FROMalerts@buildbutler.dev

Then add email recipients in the alert rule:

channels:
  - type: email
    to:
      - devops@example.com
      - oncall@example.com

Microsoft Teams

  1. In your Teams channel, click ConnectorsIncoming Webhook.
  2. Name it BuildButler and copy the webhook URL.
  3. Add the webhook URL in Settings → Notifications → Add Channel → Teams.

PagerDuty

BuildButler uses the PagerDuty Events API v2:

  1. Create a new service in PagerDuty or use an existing one.
  2. Add an Events API v2 integration and copy the Integration Key.
  3. In BuildButler, add a PagerDuty channel with the integration key.

Critical failures automatically create PagerDuty incidents. When the build recovers, BuildButler resolves the incident automatically.

Generic Webhook

For custom integrations, use the generic webhook channel. BuildButler sends a POST request with a JSON payload:

{
  "event": "build.failed",
  "timestamp": "2025-01-15T10:32:00Z",
  "job": {
    "name": "production-deploy",
    "url": "https://jenkins.example.com/job/production-deploy/42"
  },
  "build": {
    "number": 42,
    "result": "FAILURE",
    "duration": 184,
    "failureCategory": "test_failure"
  }
}

The webhook endpoint must return a 2xx status code within 10 seconds. BuildButler retries up to 3 times with exponential backoff on failure.

Alert rules

Each notification channel is attached to one or more alert rules. Rules define which events trigger the notification:

EventDescription
build.failedBuild finished with a non-success result
build.recoveredBuild succeeded after a previous failure
build.slowBuild duration exceeded the P95 threshold
queue.longQueue wait time exceeded the configured threshold

On this page