惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
小众软件
小众软件
T
Tailwind CSS Blog
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
罗磊的独立博客
有赞技术团队
有赞技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
量子位
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
美团技术团队

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - sslboard/pushover-cloudflare-build-notifications...
weddpros · 2026-05-11 · via Hacker News: Show HN

Deploy to Cloudflare

Get Cloudflare Workers build notifications on your phone via Pushover. This Worker consumes build events from a Cloudflare Queue and forwards them as push notifications with appropriate priority, sound, and direct links to the Cloudflare dashboard.

Screenshot

Pushover notification on phone

Features

  • 🔔 Real-time push notifications for build success, failure, and cancellation
  • 🚨 Failed builds sent with high priority (bypasses quiet hours) and siren sound
  • 🔗 Direct link to the build in the Cloudflare dashboard
  • 📋 Build details: worker name, branch, commit, author, duration
  • 🔒 Only two secrets to configure — no hardcoded values

How It Works

┌─────────────────┐     ┌──────────────────────────┐     ┌──────────────────┐     ┌──────────┐
│ Workers Builds  │────▶│ Cloudflare Queue          │────▶│ This Worker      │────▶│ Pushover │
│ (any worker in  │     │ (event subscription)      │     │ (queue consumer) │     │ → Phone  │
│  your account)  │     │                            │     │                  │     │          │
└─────────────────┘     └──────────────────────────┘     └──────────────────┘     └──────────┘
  1. Any Worker in your Cloudflare account triggers a build
  2. Workers Builds publishes an event to your Cloudflare Queue via Event Subscriptions
  3. This consumer Worker formats the event and sends it to the Pushover API
  4. Pushover delivers the notification to your phone

Notification Examples

Build Status Priority Sound Notification
✅ Succeeded Normal (0) cashregister Branch, commit, message, author, duration + link
❌ Failed High (1) — bypasses quiet hours siren Branch, commit, trigger source + link
⚠️ Cancelled Low (-1) — silent (default) Branch, commit, author

Setup

Prerequisites

  • A Pushover account with the app installed on at least one device (iOS, Android, or Desktop)
  • A Cloudflare account with Workers enabled

Step 1: Create a Pushover Application

  1. Go to pushover.net/apps/build
  2. Name it (e.g., "Cloudflare Builds") and optionally upload an icon
  3. Copy the API Token/Key (30 characters)

Step 2: Note Your Pushover User Key

  1. Go to your Pushover dashboard
  2. Copy your User Key (30 characters)

Step 3: Deploy the Worker

Click the button below to deploy via the Cloudflare dashboard:

Deploy to Cloudflare

Or deploy manually:

git clone https://github.com/sslboard/pushover-cloudflare-build-notifications.git
cd pushover-cloudflare-build-notifications
npm install
wrangler deploy

Step 4: Create the Queue

Important: The queue must exist before the worker can consume from it.

wrangler queues create builds-event-subscriptions

Or via the Cloudflare DashboardCreate Queue → name it builds-event-subscriptions.

Step 5: Set Secrets

wrangler secret put PUSHOVER_APP_TOKEN
# Paste your Pushover application API token

wrangler secret put PUSHOVER_USER_KEY
# Paste your Pushover user key

Or via the Cloudflare Dashboard → Workers → your worker → SettingsVariables and Secrets.

Step 6: Create the Event Subscription

Subscribe your queue to Workers Builds events so that builds emit events into your queue:

wrangler queues subscription create builds-event-subscriptions \
  --source workersBuilds.worker \
  --events build.succeeded,build.failed \
  --worker-name pushover-build-notifications

Or via the Cloudflare Dashboard → Queues → your queue → Subscriptions tab → Subscribe to events → source: Workers Builds → select events → Subscribe.

Step 7: Test It!

Push a commit to any Worker in your account that has Workers Builds enabled. You should receive a Pushover notification on your phone within seconds.

Event Types

Event Notification
cf.workersBuilds.worker.build.succeeded ✅ Success notification with dashboard link
cf.workersBuilds.worker.build.failed ❌ High-priority failure notification
cf.workersBuilds.worker.build.failed (cancelled) ⚠️ Low-priority cancellation notice
cf.workersBuilds.worker.build.started Skipped (no notification)
cf.workersBuilds.worker.build.queued Skipped (no notification)

Event Schema

Workers Builds events follow this structure (see Cloudflare docs):

{
  "type": "cf.workersBuilds.worker.build.succeeded",
  "source": {
    "type": "workersBuilds.worker",
    "workerName": "my-worker"
  },
  "payload": {
    "buildUuid": "build-12345678-90ab-cdef-1234-567890abcdef",
    "status": "success",
    "buildOutcome": "success",
    "createdAt": "2025-05-01T02:48:57.132Z",
    "stoppedAt": "2025-05-01T02:50:15.132Z",
    "buildTriggerMetadata": {
      "buildTriggerSource": "push_event",
      "branch": "main",
      "commitHash": "abc123def456",
      "commitMessage": "Fix bug in authentication",
      "author": "developer@example.com",
      "repoName": "my-worker-repo",
      "providerAccountName": "github-user",
      "providerType": "github"
    }
  },
  "metadata": {
    "accountId": "your-account-id",
    "eventSubscriptionId": "sub-1234",
    "eventSchemaVersion": 1,
    "eventTimestamp": "2025-05-01T02:48:57.132Z"
  }
}

Configuration

Secrets

Secret Description
PUSHOVER_APP_TOKEN Your Pushover application API token
PUSHOVER_USER_KEY Your Pushover user key

Queue Settings (wrangler.jsonc)

Setting Default Description
max_batch_size 10 Messages processed per batch
max_batch_timeout 30 Seconds to wait for a full batch
max_retries 3 Retry attempts for failed processing

Development

# Install dependencies
npm install

# Generate types (do NOT install @cloudflare/workers-types)
npx wrangler types

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Local development
npm run dev

# View live logs
npm run tail

Troubleshooting

No notifications appearing

  1. Check the queueDashboard → Queues → your queue. Are messages arriving?
  2. Check worker logs — Dashboard → Workers → your worker → Logs
  3. Verify subscription — Queues → your queue → Subscriptions tab
  4. Verify secrets — Workers → your worker → SettingsVariables and Secrets

Deploy fails with "Queue does not exist"

Create the queue first (see Step 4).

Pushover returns "invalid token"

  • Verify PUSHOVER_APP_TOKEN is the application token from pushover.net/apps, not your user key
  • Verify PUSHOVER_USER_KEY is from your dashboard

Build events not appearing in the queue

  • Ensure you have Workers Builds enabled on at least one worker
  • Ensure the event subscription includes the event types you expect (at minimum build.succeeded and build.failed)

Learn More

License

MIT