1. Resources
  2. /
  3. Plugins
  4. /
  5. failedkite

Failedkite

Failedkite is a webhook project for Buildkite to notify users via direct message (DM) on Slack for failed builds.

Currently, on Buildkite integration settings, you can only notify users via public/private #channel, not individually.

How it works?

This application provides a webhook that should be triggered when a build fails on your Buildkite, which will be like http://your_host:8080/webhook.

Please note that it is better to secure your connection using SSL/TLS to protect sensitive data. In a production environment, we recommend creating a reverse proxy with nginx or a similar tool and securing your connection with SSL.

You can get more information about Buildkite Webhooks here.

Dependencies

  • Python 3.11
  • Flask 2.3.2
  • slackclient 2.9.4
  • gunicorn 21.2.0
  • PyYAML 6.0.1

Usage

You need:

  • GitHub username to Slack email address mapping file (author mapping)
  • A Slack token (more info).
  • Running failedkite webhook set on Buildkite integration settings (more info).

You can run a Docker container with the existing image on Docker Hub:

docker run -v ./author_mapping.yml:/config/author_mapping.yml \
           -e SLACK_TOKEN=your_slack_token \
           -e DEFAULT_SLACK_EMAIL=your_default_email \
           -p 8080:8080 -d hadican/failedkite:latest

This application listens on port 8080 and the endpoint /webhook is exposed for receiving Buildkite webhook requests.

Author Mapping

You need to provide an author_mapping.yml file located in the /config directory which matches GitHub usernames to Slack email addresses. If no match is found, then DEFAULT_SLACK_EMAIL is notified.

Environment Variables

You need to set the following environment variables:

  • SLACK_TOKEN: This is your Slack token, which you can obtain here.
  • DEFAULT_SLACK_EMAIL: This is the default email address to be notified when the author cannot be identified.
  • IGNORE_USERS: A comma-separated list of usernames to ignore.

Build Your Own Image

Your Dockerfile is set to run the app. Here’s a basic idea of the Docker commands:

To build the Docker image:

docker build -t failedkite .

To run the Docker container:

docker run -v ./author_mapping.yml:/config/author_mapping.yml \
           -e SLACK_TOKEN=your_slack_token \
           -e DEFAULT_SLACK_EMAIL=your_default_email \
           -e IGNORE_USERS="some[bot],another[bot]" \
           -p 8080:8080 -d failedkite

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

Start turning complexity into an advantage

Create an account to get started with a 30-day free trial. No credit card required.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Pipeline templates
  3. Public pipelines
  4. Test Engine
  5. Package Registries
  6. Mobile Delivery Cloud
  7. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Webinars
  5. Plugins
  6. Case studies
  7. Events
  8. Migration Services
  9. Comparisons

Company

  1. About
  2. Careers
  3. Press
  4. Brand assets
  5. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for AI/ML
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2025