インシデントのSlack風スレッドをTeamsチャンネルにミラーリングする
使うタイミング: Sentryでクリティカルな問題が発生した際、要約とオンコール担当者への@メンションを#incidents Teamsチャンネルに投稿したい場合。
前提条件
- Graphスコープ ChannelMessage.Send、Channel.ReadBasic.All、User.Read.All を持つAzure ADアプリ登録 — entra.microsoft.com → アプリの登録 → 新規登録 → 管理者の同意を付与
- 対象チャンネルのチームIDとチャンネルID — チャンネルを右クリック → チャンネルへのリンクを取得。URLにIDが埋め込まれています
フロー
-
アラート内容を作成するSentryの課題 [貼り付け] から、3行のインシデントサマリーを作成してください:何が壊れたか、ユーザーへの影響、疑われるリリース。✓ コピーしました→ 簡潔なサマリー
-
@メンション対象者を特定する現在のオンコール担当は誰ですか?メールアドレス [email] からTeamsのユーザーIDを解決し、メンションオブジェクトを返してください。✓ コピーしました→ ユーザーとAAD IDが解決済み
-
チャンネルに投稿するサマリーをチャンネル <id> に投稿し、オンコールエンジニアを@メンションしてください。また、Sentry課題へのリンクをフォローアップ返信として投稿してください。✓ コピーしました→ messageIdが返され、Teamsで確認可能
結果: すべてのインシデントが、適切な担当者をタグ付けした構造化メッセージとしてTeamsに投稿されます。
注意点
- @メンションにはAAD IDを含む
mentionオブジェクトが必要です。単なる@nameテキストでは通知されません — まずGraph経由でユーザーのAAD IDを解決し、メッセージペイロードのmentions配列に渡してください - 管理者の同意が必要です。組織全体で同意が付与されるまでアプリは動作しません — AAD管理者にアプリのスコープに対する管理者の同意を付与してもらってください