HomeBack to recipes
RecipesTestingFull CI Pipeline with Slack Alerts

TL;DR

Full CI Pipeline with Slack Alerts is a testing workflow that chains GitHub + Playwright + Slack to automate a common task. Tests run on every push. Failures post a Slack message with the failing test name, screenshot, and a link to the run. Once configured, it saves ~4 hours/week per team, plus recovery of time lost to 'broken main' branches and runs through Claude Code, Cursor, Windsurf or any MCP-compatible AI agent.

🐙🎭💬
TestingAdvanced

Full CI Pipeline with Slack Alerts

Tests run on every push. Failures post a Slack message with the failing test name, screenshot, and a link to the run.

20 min setup, instant failure notifications3 MCPs requiredSaves ~4 hours/week per team, plus recovery of time lost to 'broken main' branches

How it works

🐙GitHub
🎭Playwright
💬Slack
Automated
1Push triggers GitHub Actions workflow2Install dependencies and build3Run Playwright end-to-end tests+3 more steps

Partial support — 2 of 3 MCPs hostable

Hosted execution needs every MCP on the whitelist. Use the local CLI for this recipe until the missing MCPs are added.

Not yet hostable:

🎭Playwright
mcpizy recipe install github-playwright-slack-ci

Why this combo?

GitHub runs the CI, Playwright provides rich failure artifacts (screenshots, traces, video), and Slack delivers the signal to the right people instantly. Without all three connected, failures sit in a CI dashboard nobody watches — this combo makes failures impossible to ignore.

Without this workflow

CI fails silently, developer discovers it hours later when checking GitHub, has to dig through logs to understand what broke.

With MCPizy

Failure posts to #ci-alerts within seconds with the test name, screenshot, and a direct link to the trace. Fixed before the next standup.

Business value

Concrete ROI — not marketing fluff.

Time saved

~4 hours/week per team, plus recovery of time lost to 'broken main' branches

  • Cuts time-to-fix on broken builds from 4 hours to 15 minutes — keeps main branch green and team unblocked
  • Self-diagnosing failures (screenshot + trace) mean juniors can fix most test breaks without pinging seniors
  • Routing to team channels means the right 2 people see the alert, not 50 — no alert fatigue
  • Reduces 'I didn't know CI was broken' excuses — every break is visible within 30 seconds

Workflow steps

  1. 1
    Push triggers GitHub Actions workflow
  2. 2
    Install dependencies and build
  3. 3
    Run Playwright end-to-end tests
  4. 4
    On failure: extract failing test names
  5. 5
    Post failure summary to #ci-alerts Slack channel
  6. 6
    Link to test artifacts and rerun button

Use cases

  • Immediate Slack alerts when end-to-end tests break on any push
  • Screenshot and trace attached to Slack message so bugs are self-diagnosing
  • Route failures to team-specific Slack channels based on test tags
  • Rerun failed tests with one click from the Slack message

MCPs required

🐙

GitHub

GitHub MCP Server

View
🎭

Playwright

Playwright MCP Server

View
💬

Slack

Slack MCP Server

View

Agent prompt (copy into Claude Code)

This prompt is the workflow. Paste into Claude Code, Cursor, or Windsurf.

You are a CI failure-reporter agent. Runs from GitHub Actions on job failure.

Given a failing workflow run ID:
1. Call github.get_workflow_run(id) to get SHA, branch, and failed job names
2. Call playwright.get_last_report() to extract failing specs (name, error, screenshot URL, trace URL)
3. For each failing spec, build a Slack block with:
   - :red_circle: title + file path
   - error message in a code block (first 10 lines)
   - buttons: [View trace] [View run] [Rerun]
4. Call slack.send_message(channel="#ci-alerts", blocks=[...]) — thread per workflow run
5. On recovery (next push green), post ":white_check_mark: CI green again — SHA <sha>" in the same thread

Route by test tag: @frontend → #frontend-alerts, @api → #backend-alerts.

Trigger & credentials

How this workflow fires and what env vars you need.

.env.example
Event-drivenTrigger
GitHub Actions: on: workflow_run (types: completed, conclusion: failure)
🐙GitHub· 1 var
GITHUB_TOKENGet key

PAT with repo + actions scopes

e.g. ghp_...

🎭Playwright· 1 var
PLAYWRIGHT_REPORT_DIR

Path to playwright-report artifact

e.g. ./playwright-report

💬Slack· 2 vars
SLACK_BOT_TOKENGet key

Slack bot user OAuth token with chat:write scope

e.g. xoxb-...

SLACK_DEFAULT_CHANNEL

Default Slack channel for CI alerts

e.g. #ci-alerts

One-command deploy

Install everything — MCPs, prompt, env template — in a single call.

$ mcpizy recipe install github-playwright-slack-ci

✓ Installs all 3 MCP servers
✓ Writes prompt to ~/.mcpizy/prompts/github-playwright-slack-ci.md
✓ Generates .env.example in current directory
✓ Ready to paste into Claude Code

Requires mcpizy CLI v1.1+ — install via npm i -g mcpizy.

Quick install (MCPs only)

20 min setup, instant failure notifications
$ mcpizy install github && mcpizy install playwright && mcpizy install slack

More Testing recipes

🎭🐙

Visual Regression on PRs

Playwright captures screenshots of key pages on every PR and diffs them against the baseline. Regressions block merge.

🌐🐙

Cross-Browser Testing on PRs

Run your test suite across Chrome, Firefox, Safari, and Edge on BrowserStack automatically when a PR is opened.

🐙🔎

Code Quality Gates

SonarQube analyzes every PR for code smells, coverage drops, and security hotspots. PRs below the quality gate are blocked.

Frequently asked questions

What is this workflow?

Full CI Pipeline with Slack Alerts is a testing automation that uses GitHub + Playwright + Slack together via the Model Context Protocol. Tests run on every push. Failures post a Slack message with the failing test name, screenshot, and a link to the run.

How long does setup take?

Setup takes around 20 min setup, instant failure notifications. You install the required MCP servers with `mcpizy install github && mcpizy install playwright && mcpizy install slack`, connect your accounts, and the workflow is ready to run.

How much time does this workflow save?

Once running, this workflow saves ~4 hours/week per team, plus recovery of time lost to 'broken main' branches. The concrete business value: Cuts time-to-fix on broken builds from 4 hours to 15 minutes — keeps main branch green and team unblocked; Self-diagnosing failures (screenshot + trace) mean juniors can fix most test breaks without pinging seniors.

Which MCP servers do I need for this?

You need 3 MCP servers: GitHub (mcpizy install github), Playwright (mcpizy install playwright), Slack (mcpizy install slack). All are installable in one command via the MCPizy CLI and configured in your `.claude.json` or `.cursor/mcp.json`.

Does this work with Claude Code, Cursor, and Windsurf?

Yes. The workflow runs with any MCP-compatible AI agent — Claude Code, Claude Desktop, Cursor, Windsurf, VS Code with Copilot, and custom agents built on the MCP SDK. The MCP servers are identical across clients; only the config file path (`.claude.json` vs `.cursor/mcp.json`) changes.

Start building this workflow

Install the required MCPs from the marketplace and automate this in 20 min setup.

$ mcpizy install github && mcpizy install playwright && mcpizy install slack

🐙Install GitHub🎭Install Playwright💬Install Slack

Free to install. Connect your accounts and this workflow runs itself.