システム障害の対応記録とチャットのやり取りから障害報告書の下書きを作る
障害チケットの記録と対応中のチャットを入力に、発生から収束までの時系列と、影響範囲・暫定対応の欄を下書きします。担当者の作業は、ログをたどって一から書くことから、下書きの事実を確かめて原因と対策を書き足すことに変わります。
- 利用ツール
- ChatGPT/Claude/Gemini/Make/n8n/Power Automate/Zapier
- 対象業界
- IT・SaaS/その他/小売/製造/金融
- 対象部門
- 情報システム
- 対象業務
- 書類作成/記録・議事録作成
- 主な課題
- 属人化している/引き継ぎができていない/書類作成に時間がかかる
- AIで行う処理
- 要約
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 障害を検知し、Jira にチケットを起票する
- Slack に障害対応用のチャンネルを立てる
- 対応者がチャンネルに状況を書き込みながら復旧作業を行う
- 収束後、担当者がチャンネルのやり取りを最初から読み返す
- チケットのコメントと突き合わせて、時系列を表に書き起こす
- 影響範囲(店舗数、停止時間、受注への影響)を各所に確認して埋める
- 原因と再発防止策を書く
- 上長が確認し、不足があれば差し戻す
- Confluence に報告書を保存し、関係部署へ共有する
- 障害を検知し、Jira にチケットを起票する(ここは変わらない)
- Slack の障害対応チャンネルで状況を書き込みながら復旧する(ここも変わらない)
- 収束後、担当者がチケットのステータスを「報告書作成」に変える
- 自動チケットの記録とコメントを取得する
- 自動対応チャンネルのメッセージを取得する
- 自動時刻を揃え、雑談や重複を落として時系列に並べる
- 自動報告書の書式に沿って、経緯・影響・暫定対応の欄を下書きする
- 自動下書きを Confluence の下書きページとして作成し、担当者に通知する
- 人担当者が時系列の事実関係を確認し、原因と再発防止策を書く
- 人上長が確認して公開する
各工程の詳しい説明を読む
- 障害を検知し、Jira にチケットを起票する
- Slack に障害対応用のチャンネルを立てる
- 対応者がチャンネルに状況を書き込みながら復旧作業を行う
- 収束後、担当者がチャンネルのやり取りを最初から読み返す
- チケットのコメントと突き合わせて、時系列を表に書き起こす
- 影響範囲(店舗数、停止時間、受注への影響)を各所に確認して埋める
- 原因と再発防止策を書く
- 上長が確認し、不足があれば差し戻す
- Confluence に報告書を保存し、関係部署へ共有する
問題は4つあります。
(a)読み返しに時間がかかる。 2時間の障害でもチャンネルのメッセージは200件を超えます。報告書の半分の時間が、書く前の読み返しに使われています。
(b)時刻がずれる。 「14時頃に再起動」とチャットに書かれていても、実際の再起動は14時12分だったりします。チケットのコメント、チャット、監視ツールの時刻が別々で、突き合わせに手間がかかります。
(c)書き手によって粒度が違う。 同じ書式でも、経緯を10行で書く人と40行で書く人がいます。上長の差し戻しの多くは、この粒度の差によるものです。
(d)書くのが遅れると経緯が失われる。 次の障害や通常業務に追われ、報告書が1週間後になることがあります。その時点では、なぜその判断をしたのかを本人も覚えていません。
- 障害を検知し、Jira にチケットを起票する(ここは変わらない)
- Slack の障害対応チャンネルで状況を書き込みながら復旧する(ここも変わらない)
- 収束後、担当者がチケットのステータスを「報告書作成」に変える
- 【自動】 チケットの記録とコメントを取得する
- 【自動】 対応チャンネルのメッセージを取得する
- 【自動】 時刻を揃え、雑談や重複を落として時系列に並べる
- 【自動】 報告書の書式に沿って、経緯・影響・暫定対応の欄を下書きする
- 【自動】 下書きを Confluence の下書きページとして作成し、担当者に通知する
- 【人】 担当者が時系列の事実関係を確認し、原因と再発防止策を書く
- 【人】 上長が確認して公開する
自動化されるのは「読み返す」「時刻を揃える」「書式に流し込む」の3つです。残るのは「原因は何だったか」「次にどう防ぐか」を書くことで、ここは担当者の仕事のまま残します。
02今回想定するシステム構成
Jira Service Management(障害チケット) Slack(障害対応チャンネル)
│ │
└────────────────┬────────────────┘
│
▼【トリガー】チケットのステータスが「報告書作成」に変わった
Make シナリオ
│
├──▶ Jira REST API ── チケットの項目とコメントを取得
│
├──▶ Slack API ── 対応チャンネルのメッセージを取得
│
├──▶ 時刻の正規化と並べ替え
│
├──▶ Claude API ── 時系列の整理と報告書の下書き
│
└──▶ Confluence に下書きページを作成 + 担当者へ通知
│
▼【人が確認】事実関係を確かめ、原因と再発防止策を書く
│
▼【人が承認】上長が確認して公開| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make | n8n、Power Automate、Zapier |
| 生成AI | Claude API | OpenAI API、Gemini API |
| 連携 | Jira Service Management、Slack | ServiceNow、Microsoft Teams |
| 保管 | Confluence | SharePoint、社内Wiki |
Make を置いているのは、Jira・Slack・Confluence のいずれにも接続部品が用意されており、コードを書かずに組めるためです。 情報システム部門であれば Python で書くこともできますが、この業務は保守の担い手を固定しないほうが続きます。
03どうやって実装するのか
処理の起点を決める
チケットのステータスが「報告書作成」に変わったときを起点にします。障害の収束を検知して自動で起動する構成は取りません。
理由は、「収束した」の判断が機械的に決まらないためです。監視アラートが止まっても、利用者側の影響が残っていることがあります。担当者が「対応は終わった、報告書に移る」と判断した時点を起点にします。
ステータスを1つ増やす運用変更が必要ですが、それ自体が「報告書を書き始める」合図になり、書き忘れの防止にもなります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 障害チケット | 起票日時、対象システム、重大度、担当者、ステータス変更の履歴、コメント | Jira |
| 対応チャンネルのメッセージ | 投稿者、投稿時刻、本文、スレッドの返信 | Slack |
| 報告書の書式 | 欄の名前と、各欄に何を書くかの定義 | プロンプトに固定で埋め込む |
| 過去の報告書の良い例 | 上長が差し戻さなかった報告書2〜3件 | Confluence |
4番目を入れると粒度が揃います。 「経緯は10〜20行」と数字で指示するより、実物を見せるほうが効きます。ただし、例に引っ張られて別の障害の内容が混ざらないよう、例であることを明示して渡します。
データの取得方法を決める
チケット: Jira Cloud の REST API を使います。チケット番号が分かっていれば課題を1件取得し、コメントとステータス変更の履歴を合わせて取ります。関連するチケットを JQL で検索する場合は /rest/api/3/search/jql を使います。以前の /rest/api/3/search は廃止されており、新しいエンドポイントではページ送りに nextPageToken を使います。 古い実装例を参考にすると、ここで動かなくなります。
チャンネルのメッセージ: Slack の conversations.history メソッドで、対応チャンネルのメッセージを取得します。oldest と latest に時刻(Unixタイムスタンプ)を指定すると、その間のメッセージだけを取れます。件数が多い場合はカーソルによるページ送りで続きを取得します。スレッドの返信は conversations.history だけでは本文が揃わないため、返信のあるメッセージについてはスレッドの取得を別に行います。
チャンネルとチケットの紐づけは、チャンネル名にチケット番号を入れる運用にするのが確実です(例:#inc-1234-ec-checkout)。チャンネル名から番号を取り出して照合します。
Botの権限: Slack アプリには、対象チャンネルの履歴を読む権限が必要です。プライベートチャンネルで対応している場合は、アプリをチャンネルに招待しておく必要があります。ここを忘れると、空の報告書が出ます。
AIへ渡す前に整形する
- 時刻の統一 … Jira と Slack の時刻を日本時間に揃えます。Slack の時刻はUnixタイムスタンプで返るため変換します
- 並べ替え … チケットのコメント、ステータス変更、チャットのメッセージを1本の時系列にまとめます
- ノイズの除去 … 絵文字だけの返信、「了解です」「ありがとうございます」、Botの定型通知を落とします
- 重複の除去 … 同じ内容がチケットとチャットの両方に書かれていることがあります。近い時刻の似た文面を1件にまとめます
- 長さの分割 … 長時間の障害でメッセージが数千件になる場合は、時間帯で区切って段階的に整理させ、最後に統合します
- 機微情報の除去 … パスワード、APIキー、個人の電話番号がチャットに貼られていることがあります。パターンで検出して伏せてから渡します
6番を飛ばさないでください。障害対応の最中は、急いで認証情報をチャンネルに貼ることが実際に起きます。
AIに処理させる
報告書の欄ごとに、させることを分けます。
| 欄 | AIにさせること | 人が書くこと |
|---|---|---|
| 概要 | 3行で何が起きたかをまとめる | 表現の調整 |
| 時系列 | 検知・初動・切り分け・暫定対応・復旧・収束の時刻と出来事を並べる | 時刻の確認 |
| 影響範囲 | チャットに書かれた影響(店舗数、停止時間、件数)を拾う | 実数の確認と補完 |
| 暫定対応 | 何をして復旧したかを整理する | 確認 |
| 原因 | チャット内で確認された事実だけを列挙し、「原因の候補」として示す | 原因の特定 |
| 再発防止策 | 書かない。チャット内で出た案があれば「議論に出た案」として列挙するだけ | 対策の決定 |
| 未確認事項 | 時刻が不明な出来事、結論が出ていない議論を列挙する | 解消 |
「原因」と「再発防止策」をAIに書かせないことが、この構成の設計の核です。 報告書を読むのは経営層や他部署で、そこに書かれた原因は事実として受け取られます。
指示内容を固定する
あなたはシステム障害の報告書を整理する担当者です。
障害チケットの記録と、障害対応チャンネルのやり取りを渡します。
報告書の下書きを作ってください。
【厳守事項】
- 記録とやり取りに書かれていないことを書かないでください。
一般的な障害の原因を推測で書かないでください。
- 時刻は記録に残っている時刻をそのまま使ってください。
「14時頃」としか書かれていない出来事は、時刻を「14時頃(推定)」と書き、
unconfirmed に入れてください。
- 原因について、確定した記述がない場合は root_cause を空にし、
cause_candidates に「チャットで言及された原因の候補」とその発言時刻を並べてください。
- 再発防止策は書かないでください。
議論に出た案があれば discussed_measures に発言者と時刻とともに列挙してください。
- 人の判断の誤りや責任を示す表現を使わないでください。
「〇〇さんが誤って」ではなく「設定変更が行われ、その後」と事実だけを書いてください。
- 下の過去の報告書は書き方の参考です。内容を流用しないでください。
【報告書の書式】
{report_template}
【書き方の参考(別の障害の報告書)】
{good_examples}
【障害チケット】
{jira_issue}
【対応チャンネルのやり取り(時系列に整理済み)】
{slack_messages}
「人の判断の誤りや責任を示す表現を使わない」の1行は、運用上とても重要です。 チャットには「すみません、自分がさっき設定を戻し忘れていました」といった発言が残ります。これをそのまま報告書に書くと、個人を責める文書になり、次の障害で率直な書き込みが減ります。記録が正直であり続けることが、この構成の前提です。
出力形式を固定する
{
"incident_id": "",
"summary": "",
"timeline": [
{ "time": "", "time_confirmed": true, "event": "", "source": "jira | slack" }
],
"impact": {
"systems": [],
"duration_minutes": null,
"affected_scope": "",
"impact_confirmed": false
},
"workaround": "",
"root_cause": "",
"cause_candidates": [
{ "candidate": "", "mentioned_at": "" }
],
"discussed_measures": [
{ "measure": "", "mentioned_by": "", "mentioned_at": "" }
],
"unconfirmed": []
}
time_confirmed と impact_confirmed を持たせているのは、確定した値と推定の値を報告書上で見分けられるようにするためです。Confluence のページ化の段階で、未確定の値に色を付けます。
duration_minutes は数値で返させます。障害の停止時間は、月次や年次で集計されることがあるためです。
システムへ連携する
下書きは Confluence に「下書き」として作成します。公開はしません。
| 連携先 | 内容 |
|---|---|
| Confluence | 報告書の書式に沿った下書きページ。未確定の値を色分け |
| Jira | チケットに下書きページへのリンクをコメントとして追加 |
| Slack | 担当者へ「下書きができた」ことを通知 |
報告書の公開や関係部署への配信は自動化しません。 上長の承認を経てから、人が共有します。
人が確認する
全件、人が確認します。 確認は2段階です。
- 担当者 … 時系列の時刻と出来事が正しいかを、監視ツールのログなどで確かめる。原因と再発防止策を書く。未確認事項を解消する
- 上長 … 報告書として公開してよいかを判断する
担当者の確認を速くするための設計が要ります。
- 時系列の各行に、元のチャットやチケットコメントへのリンクを付ける
- 推定の時刻、未確定の影響範囲を色分けする
- 未確認事項を報告書の冒頭に並べる
例外に対処する
| 起きること | 対応 |
|---|---|
| 対応チャンネルが見つからない | チケットの情報だけで下書きを作り、「チャンネル未取得」と明記する |
| Botがチャンネルに招待されていない | 取得エラーとして担当者へ通知する。空の報告書を作らない |
| メッセージが数千件ある | 時間帯で区切って整理し、最後に統合する |
| 対応が複数のチャンネルに分かれていた | チケットに関連チャンネルを列挙する欄を設け、すべて取得する |
| チャットに認証情報が貼られている | 前処理で伏せる。伏せた箇所があったことを担当者へ通知し、認証情報の変更を促す |
| 原因が最後まで特定されていない | root_cause を空にし、候補だけを列挙する。原因不明のまま「推定」で埋めない |
| 対応が電話や口頭で行われ、記録がない | 下書きの時系列に空白が出る。空白の時間帯を未確認事項として示す |
| 複数の障害が同時に起きて会話が混ざる | チャンネルを障害ごとに分ける運用を徹底する。混ざった場合は人が整理する |
記録を残す
- 取得したチケットとメッセージ(報告書の根拠として)
- AIが作った下書き(初版)
- 担当者が修正した後の版、上長が承認した最終版
- 下書きから最終版までに変更された箇所
最後の項目を見ると、AIの下書きのどこが使われ、どこが書き直されたかが分かります。「時系列はほぼそのまま使われるが、影響範囲は毎回書き直されている」と分かれば、影響範囲の欄はAIに書かせず、監視ツールから数値を取る設計に変えます。
取得したメッセージは、報告書と同じ保存期間で保管します。チャットツール側の保存期間が短い場合、報告書の根拠が後から消えるためです。
04実装レベルの3段階
半自動化で十分な効果が出ます。 90分が35分程度になります。本格構成の価値は時間短縮よりも、停止時間や影響件数を監視ツールの実数で埋めることによる正確さにあります。
05工数削減シミュレーション
導入後 25件 × 35分 ÷ 60 = 14.6 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 障害対応の記録がチケット管理ツールとチャットに分かれて残っており、対応後に報告書を毎回手で書き起こしている情報システム部門。報告書の書式が決まっているが、書き手によって中身の粒度がばらつく場合。
- 障害が月数件以下で、報告書を簡易なメモで済ませている場合。対応中のやり取りが電話や口頭中心で、記録が残っていない場合。
07最小構成で試す方法
- 過去3か月の障害から、報告書を書いたものを3件選ぶ
- そのチケットのコメントと、対応チャンネルのメッセージを書き出す(チャットツールの書き出し機能を使う)
- 生成AIの画面に、報告書の書式・書き出したやり取り・上のプロンプトを貼り付けて下書きを作らせる
- 実際に書かれた報告書と並べて比べる
比べる観点は3つです。 時系列の出来事に抜けがないか。時刻がずれていないか。原因や対策を勝手に書いていないか。
判断の目安は次のとおりです。
| 3件の結果 | 判断 |
|---|---|
| 時系列がほぼそのまま使える | 半自動化に進む価値がある |
| 出来事は拾えているが時刻がずれる | 前処理の時刻統一を先に作る。仕組みにすれば解消する |
| 出来事の抜けが多い | 対応中の書き込みが少ない。報告書の前に、対応中に書き込む運用を見直す |
機微情報を含むやり取りを貼り付ける前に、認証情報や個人の連絡先が含まれていないかを確認してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 空の報告書ができる | Slack アプリをチャンネルへ招待し忘れている。取得件数0件をエラーとして扱う |
| Jira の検索が動かない | 廃止された /rest/api/3/search を使っている。/rest/api/3/search/jql と nextPageToken に切り替える |
| スレッドの返信が抜ける | 返信のあるメッセージについてスレッドを別に取得する |
| 時刻がずれる | タイムスタンプを日本時間に変換してから並べる。推定の時刻は印を付ける |
| AIが原因を推測で書く | 確定した記述がない場合は空にさせる。候補は発言時刻とともに列挙させる |
| 個人を責める表現が出る | プロンプトで禁じる。人名と「誤って」「忘れて」が同じ文にあれば検出して知らせる |
| 認証情報が報告書に載る | 前処理で伏せる。伏せた事実を担当者へ通知する |
| 過去の報告書の内容が混ざる | 参考例であることを明示する。例は書式の参考として短く渡す |
| チャットツールの保存期間が切れて根拠が消える | 取得したメッセージを報告書と一緒に保管する |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 障害チケット、対応チャンネルのやり取り、システム構成に関する情報。チャットには、システムの内部構成、脆弱性にかかわる情報、ときに認証情報や個人の連絡先が含まれます。
- 認証情報の混入 … 前処理で伏せることに加え、チャンネルに認証情報を貼らない運用ルールを別途周知してください。 貼られていた場合は、報告書とは別に認証情報の変更を行います
- 脆弱性にかかわる情報 … セキュリティ事故に該当する障害は、この仕組みに載せず、別の手順で扱ってください。公開前の脆弱性情報を外部サービスへ渡すことになるためです
- 外部AIへの入力 … システム構成の情報が外部のサービスへ渡ります。データの保存地域と学習利用の有無を契約で確認し、入力を学習に使わないサービスを選びます
- 個人の評価に使わない … 報告書は再発防止のための文書です。下書きの段階から個人の責任を示す表現を除く設計にしているのは、このためです。 報告書を人事評価の材料にしない方針を明示してください
- アクセス権限 … 下書きページの閲覧範囲を、公開前は担当者と上長に限定します
- 自動実行してよい範囲 … 下書きの作成と通知までです。報告書の公開と関係部署への配信は、上長の承認後に人が行います
誤りが起きた場合のリスクは、事実と違う経緯や推測の原因が報告書として残り、再発防止の判断を誤ることです。報告書は後から監査や顧客説明の根拠として使われることがあります。 未確定の値を未確定と分かる形で残すことを徹底してください。
10まず何から始めるか
1週目:過去3件で下書きを作る
過去の障害報告書3件について、チケットとチャットを書き出し、生成AIに下書きを作らせます。実際の報告書と並べて、時系列の抜けと時刻のずれを確認します。
2週目:運用ルールを決める
チャンネル名にチケット番号を入れる、チケットに「報告書作成」のステータスを足す、チャンネルに認証情報を貼らない、の3つを決めて周知します。仕組みを作る前に、この3つだけで記録の質が上がります。
3〜4週目:半自動化を組む
ステータス変更を起点に、チケットとチャットを取得して Confluence に下書きを作るところまでを組みます。次に起きた障害から実際に使い、90分が何分になるかを実測します。
2か月目以降: 下書きと最終版の差分を見て、書き直されている欄を特定します。影響範囲の書き直しが多ければ、監視ツールから数値を取る本格構成に進みます。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Jira Cloud の課題検索APIで、JQLによる検索に /rest/api/3/search/jql を使うこと。旧エンドポイント /rest/api/3/search が廃止されていること。ページ送りに nextPageToken を使うこと | Atlassian Developer: Jira Cloud platform REST API - Issue search | 2026-09-14 |
Slack の conversations.history メソッドが会話のメッセージを返すこと。oldest と latest で時刻の範囲を指定できること。カーソルによるページ送りに対応すること | Slack Developer Docs: conversations.history | 2026-09-14 |
Make、n8n などワークフローツール側の接続部品で使える操作の範囲は、ツールと契約プランによって異なります。この部分は利用環境に応じた個別確認が必要です。 監視ツールとの連携方式も製品によります。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0054)についてのご相談はこちらから。
