Code Review SLA & DORA Delivery Velocity Bot

告別 PR 塞車,極速交付!
Slack / Discord 智慧程式碼審查催單與流程管家

縮短 65% 的程式碼審查等待時間!PRNudge 具備工作時段感知(下班週末自動凍結計時)、24 小時溫和提醒、48 小時自動升級廣播、CI 失敗與 Base 分支衝突看門狗,結合 CODEOWNERS 輪替與 DORA TTFR 審查排行榜,讓團隊交付又快又穩!

新增至 Slack (Add to Slack) 查看催單預覽

六大加速程式碼審查的核心功能

兼顧開發者身心福祉、智慧路由與可度量的敏捷工程指標

⏳

SLA 階梯式自動催單

工作時間內累積 24 小時未審核,自動向 Reviewer 發送友善提醒;逾時超過 48 小時自動升級廣播至團隊 Standup 頻道或標註 Lead。

🕒

在地工作時段感知 (Work-Life)

內建各成員時區作息運算。下班時間、週末假日與國定假期**自動暫停計時**,不打擾工程師私生活,只在真正工作時段精準催單。

🛡️

CI 構建失敗與衝突看門狗

GitHub Actions / GitLab CI 構建中斷時,秒速私訊作者附帶錯誤 Log;當 Base 主分支發生衝突時立即預警 rebase,避免審查白做工。

👥

CODEOWNERS & Round-Robin

智慧解析程式碼所有權檔案,支援輪替(Round-Robin)與候補指派,平衡審查負擔,避免特定資深工程師成為審查瓶頸。

🏆

DORA 審查指標 & MVP 榮譽榜

自動追蹤首次審查等待時間 (TTFR)、PR 存活時長與審查覆蓋率。每週產出 Reviewer 貢獻榮譽榜,表彰認真 Review 的工程夥伴。

☁️

邊緣多租戶雲端架構

基於 Cloudflare Workers + D1 + KV 打造。HMAC-SHA256 Webhook 秒級驗證,每 15 分鐘 Cron 定時無伺服器排程,具備租戶嚴格邊界防護。

Slack 原生 Block Kit 審查通知與催單卡片

精準上下文、SLA 倒數標記、一鍵前往 GitHub 與延後提醒按鈕

Slack - #team-frontend (PRNudge SLA Watchdog)
🚀
PRNudge APP 上午 10:30 (每 15 分鐘定時巡邏)
⏳ [溫和提醒] PR 等待審查已超過 24 小時 ⚠️ SLA Stage 1 (26h 15m)
📦 FloorUp/client-portal#142: feat(auth): 實作 SAML 2.0 單一登入與防重放攻擊機制
PR 作者:@Alex Chen
指派審查者:@Kevin Lin
程式碼異動:+145 / -32 (中型 PR)
CI 狀態:✅ 測試通過 (3m 12s)
🕒 工作時段感知:下班與週末已自動凍結計時 🚨 下一階段升級:尚餘 21 小時將廣播至 Team Lead
🔍 前往 GitHub 立即審查
🚨
PRNudge CI 看門狗警示 CI WATCHDOG 上午 11:05 (即時 Webhook 觸發)

⚠️ 偵測到 CI 構建失敗: FloorUp/client-portal#145 於步驟 npm test -- --coverage 異常中斷。

Error: Expected 80% branch coverage, but got 76.5% in authService.ts:L45
已自動私訊作者 @Alex Chen,並暫停向 Reviewer 催單以避免審查白做工。

邊緣雲端原生無伺服器架構

超低延遲 Webhook 閘道、D1 分散式儲存與高可靠定時巡邏

15 分鐘 Cron Trigger 排程引擎

透過 Cloudflare Cron 邊緣無伺服器定期掃描 D1 中狀態為 OPEN 的 PR,依據租戶所在時區與作息動態計算 SLA,精準派送催單。

HMAC-SHA256 常數時間驗證

Webhook 接收點以邊緣常數時間安全校驗 GitHub / GitLab 簽章,抵禦時序側信道攻擊;KV 命名空間快取租戶設定與排他鎖防止重複觸發。

嚴格組織邊界隔離 (Tenant Guard)

使用者僅能檢視與操作自己被授權的企業程式庫與 PR 資料,後端 API 強制綁定 WHERE tenant_id = ?,杜絕跨組織探測。

常見問題 (FAQ)

深入了解 PRNudge 的時區運算、平台整合與權限規範

下班後或週末假日,PRNudge 會發出推播打擾工程師嗎?
絕對不會。 PRNudge 內建「工作時段感知引擎 (Business Hours Engine)」。租戶後台可自訂團隊作息(例如週一至週五 09:30–18:30),非工作時間內 SLA 計時會自動凍結,絕對不會在深夜或休假期間發出任何非緊急的審查催促。
除了 GitHub,PRNudge 是否支援 GitLab 與自建 GitLab CE?
是的。PRNudge 提供通用 Webhook 轉接適配器,同時原生支援 GitHub.com、GitLab.com 及可公開連線之 GitLab Self-Managed 執行個體。
如果同一個 PR 短時間內推了好幾次 Commit,會不會狂發訊息?
不會。 PRNudge 於 Cloudflare KV 實作分散式排他防抖鎖(TTL 900s)。當同一個 PR 在短時間內發生頻繁 commit 或狀態跳轉時,系統會自動合併事件,確保頻道與私訊的寧靜度。
什麼是 TTFR?它對敏捷研發團隊有什麼幫助?
TTFR(Time to First Review)代表從 PR 開啟到獲得第一筆實質性審查意見的時間。根據 DORA 研究,TTFR 是影響團隊 Delivery Lead Time 的首要阻塞因子。PRNudge 將 TTFR 視覺化並表彰審查積極的成員,有效帶動團隊協作正向飛輪。
PRNudge 需要存取我們公司的原始程式碼內容嗎?
不需要。 PRNudge 僅監聽 Webhook 中的元數據(Metadata,例如 PR 標題、狀態、作者帳號、審查者名單、CI 狀態代碼等),絕不讀取、下載或儲存企業的原始程式碼內容或業務檔案。