將事件通報討論串同步至 Teams 頻道
何時使用: Sentry 觸發嚴重問題時,希望將摘要及 @-提及值班人員的訊息發布到 #incidents Teams 頻道。
前置條件
- 已完成 Azure AD 應用程式註冊,並取得 ChannelMessage.Send、Channel.ReadBasic.All、User.Read.All 等 Graph 權限範圍 — 前往 entra.microsoft.com → 應用程式註冊 → 新增,並由管理員授予同意
- 目標頻道的 Team ID 與 Channel ID — 在頻道上按右鍵 → 取得頻道連結;ID 已嵌入在 URL 中
步驟
-
撰寫警示訊息根據 Sentry 問題 [貼上內容],起草一段三行的事件摘要:發生什麼問題、使用者影響、可能的問題版本。✓ 已複製→ 簡潔的摘要內容
-
確認 @-提及對象目前值班人員是誰?請透過其電子郵件 [email] 解析對應的 Teams 使用者 ID,並回傳 mention 物件。✓ 已複製→ 已解析的使用者資訊與 AAD ID
-
發布至頻道將摘要發布至頻道 <id>,並 @-提及值班工程師。同時在該訊息下回覆一則附有 Sentry 問題連結的訊息。✓ 已複製→ 已回傳 messageId,且訊息在 Teams 中可見
結果: 每次事件都能在 Teams 中產生結構化訊息,並標記正確的負責人員。
注意事項
- @-提及需要包含 AAD ID 的
mention物件;單純的@名稱文字不會發出通知 — 先透過 Graph 解析使用者的 AAD ID,再將其傳入訊息 payload 的 mentions 陣列中 - 需要管理員同意;未完成組織範圍授權前,應用程式無法正常運作 — 請 AAD 管理員針對應用程式的權限範圍授予管理員同意