pagerduty-automation について
pagerduty-automationは、Rube MCP経由でComposioのPagerDutyツールキットを使い、PagerDutyのインシデント運用を行うスキルです。インシデント、アラート、サービス、オンコール、エスカレーションポリシー、チームを扱い、通知や対応者に影響する操作への注意も示します。
主な機能
- 01インシデントのライフサイクル操作
- 02アラート詳細とインシデント分析
- 03サービスとインテグレーションの管理
- 04オンコールスケジュールとオーバーライド管理
- 05エスカレーションポリシーとチームの操作
活用シーン
- 01インシデント、アラート、対応指標の確認
- 02インシデントの担当変更やノート追加
- 03オンコール状況の確認とスケジュール変更のプレビュー
- 04サービスとエスカレーションポリシーの管理
MCP 対応
Rube MCPとComposioのPagerDutyツールキットを介してPagerDutyに接続します。操作の前に現在のツールスキーマを取得し、認証済みで有効なPagerDuty接続を確認する必要があります。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill pagerduty-automationインストール後、Claude Code で/pagerduty-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による PagerDuty の自動化
Rube MCP を通じて、Composio の PagerDuty ツールキットを使用し、PagerDuty のインシデント管理と運用を自動化します。
前提条件
- Rube MCP が接続されていること(
RUBE_SEARCH_TOOLSが利用可能) - ツールキット
pagerdutyを指定したRUBE_MANAGE_CONNECTIONSを通じて、PagerDuty に接続済みであること - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の取得:クライアント設定で、https://rube.app/mcp を MCP サーバーとして追加してください。このエンドポイントを使用するには、認証済みの MCP セッションと、適切なスコープを持つ認可済みの PagerDuty 接続が引き続き必要です。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認します- ツールキット
pagerdutyを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って PagerDuty 認証を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
インシデントと通知に関する注意事項
書き込み操作の前に、正確なアカウント/サービス/インシデント ID と現在の状態を確認してください。インシデントの作成、メモの追加、再割り当て、スケジュールやエスカレーションの変更により、実際の担当者に通知またはページが送られることがあります。確認応答、スヌーズ、解決、サービスの無効化により、対応が抑制される可能性があります。こうした影響について明示的な承認を得て、意図した IANA タイムゾーンでスケジュールをプレビューし、変更結果を読み戻してください。通信タイムアウトが発生した場合、処理結果は不明です。作成を再試行する前に、状態を照合してください。インシデントへの確認応答によって再トリガーされることがあります。また、ステータスフィールドは読み取り専用、またはエンドポイント/スキーマによる制約がある場合があります。以下の簡略化された一方向のステータス遷移やステータス一覧を前提にしないでください。検出した最新の列挙値と実行ユーザーの要件を使用してください。インシデントの詳細やインテグレーションキーを共有ログに含めないでください。
主なワークフロー
1. インシデントの管理
使用する場面:ユーザーがインシデントの作成、更新、確認応答、または解決を希望する場合
ツールの順序:
PAGERDUTY_FETCH_INCIDENT_LIST- フィルターを指定してインシデントを一覧表示します[必須]PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID- 特定のインシデントの詳細を取得します[任意]PAGERDUTY_CREATE_INCIDENT_RECORD- 新しいインシデントを作成します[任意]PAGERDUTY_UPDATE_INCIDENT_BY_ID- インシデントのステータスまたは割り当てを更新します[任意]PAGERDUTY_POST_INCIDENT_NOTE_USING_ID- インシデントにメモを追加します[任意]PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION- インシデントを一定期間スヌーズします[任意]
主なパラメーター:
statuses[]:ステータスで絞り込みます('triggered'、'acknowledged'、'resolved')service_ids[]:サービス ID で絞り込みますurgencies[]:緊急度で絞り込みます('high'、'low')title:インシデントのタイトル(作成時)service:idとtypeを含むサービスオブジェクト(作成時)status:更新操作で設定する新しいステータス
注意事項:
- インシデントの作成には、
idとtype: 'service_reference'の両方を含むserviceオブジェクトが必要です - ステータスは次の順序で遷移します:triggered -> acknowledged -> resolved
- resolved から triggered に直接遷移することはできません
PAGERDUTY_UPDATE_INCIDENT_BY_IDでは、パスパラメーターとしてインシデント ID が必要です- スヌーズ期間の単位は秒です。期間が終了すると、インシデントは再トリガーされます
2. インシデントのアラートと分析を確認する
使用する場面:ユーザーがインシデント内のアラートを確認したい場合、またはインシデントの指標を分析したい場合
ツールの順序:
PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID- インシデントのアラートを一覧表示します[必須]PAGERDUTY_GET_INCIDENT_ALERT_DETAILS- 特定のアラートの詳細を取得します[任意]PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID- インシデントの分析データ/指標を取得します[任意]
主なパラメーター:
incident_id:インシデント IDalert_id:インシデント内の特定のアラート IDstatuses[]:ステータスでアラートを絞り込みます
注意事項:
- 1 つのインシデントに複数のアラートが含まれることがあります。各アラートにはそれぞれ独自のステータスがあります
- アラート ID のスコープはインシデント単位です
- 分析データには、応答時間、エンゲージメント指標、解決時間が含まれます
3. サービスを管理する
使用するタイミング:ユーザーがサービスの作成、更新、一覧表示を希望している場合
ツールの順序:
PAGERDUTY_RETRIEVE_LIST_OF_SERVICES- すべてのサービスを一覧表示します[必須]PAGERDUTY_RETRIEVE_SERVICE_BY_ID- サービスの詳細を取得します[任意]PAGERDUTY_CREATE_NEW_SERVICE- 新しいテクニカルサービスを作成します[任意]PAGERDUTY_UPDATE_SERVICE_BY_ID- サービスの設定を更新します[任意]PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE- サービスにインテグレーションを追加します[任意]PAGERDUTY_CREATE_BUSINESS_SERVICE- ビジネスサービスを作成します[任意]PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID- ビジネスサービスを更新します[任意]
主なパラメーター:
name:サービス名escalation_policy:idとtypeを含むエスカレーションポリシーオブジェクトalert_creation:アラート作成モード('create_alerts_and_incidents' または 'create_incidents')status:サービスのステータス('active'、'warning'、'critical'、'maintenance'、'disabled')
注意点:
- サービスの作成には、既存のエスカレーションポリシーが必要です
- ビジネスサービスはテクニカルサービスとは異なり、ビジネスレベルのグループを表します
- サービスインテグレーションは、アラートの作成方法(メール、API、イベント)を定義します
- サービスを無効にすると、そのサービスのインシデント作成がすべて停止します
4. スケジュールとオンコールを管理する
使用するタイミング:ユーザーがオンコールのスケジュールやローテーションの表示または管理を希望している場合
ツールの順序:
PAGERDUTY_GET_SCHEDULES- すべてのスケジュールを一覧表示します[必須]PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID- 特定のスケジュールの詳細を取得します[任意]PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER- 新しいスケジュールを作成します[任意]PAGERDUTY_UPDATE_SCHEDULE_BY_ID- 既存のスケジュールを更新します[任意]PAGERDUTY_RETRIEVE_ONCALL_LIST- 現在オンコール中の担当者を表示します[任意]PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION- 一時的なオーバーライドを作成します[任意]PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID- オーバーライドを削除します[任意]PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID- スケジュールに含まれるユーザーを一覧表示します[任意]PAGERDUTY_PREVIEW_SCHEDULE_OBJECT- 保存前にスケジュールの変更をプレビューします[任意]
主なパラメーター:
schedule_id:スケジュール識別子time_zone:スケジュールのタイムゾーン(例:'America/New_York')schedule_layers:ローテーションレイヤー設定の配列since/until:オンコールのクエリ対象期間(ISO 8601)override:ユーザー、開始時刻、終了時刻を含むオーバーライドオブジェクト
注意点:
- スケジュールレイヤーはローテーションの順序を定義します。複数のレイヤーが重なることもあります
- オーバーライドは一時的なもので、通常のスケジュールより優先されます
- オンコールのクエリでは、対象期間を指定するために
sinceとuntilが必要です - タイムゾーンには、有効なIANAタイムゾーン文字列を指定する必要があります
- 複雑なスケジュール変更は、正しく設定されていることを確認するため、保存前にプレビューしてください
5. エスカレーションポリシーを管理する
使用するタイミング:ユーザーがエスカレーションポリシーの作成または変更を希望している場合
ツールの順序:
PAGERDUTY_FETCH_ESCALATION_POLICES_LIST- すべてのエスカレーションポリシーを一覧表示します[必須]PAGERDUTY_GET_ESCALATION_POLICY_BY_ID- ポリシーの詳細を取得します[任意]PAGERDUTY_CREATE_ESCALATION_POLICY- 新しいポリシーを作成します[任意]PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID- 既存のポリシーを更新します[任意]PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS- ポリシーの監査履歴を表示します[任意]
主なパラメーター:
name:ポリシー名escalation_rules:エスカレーションルールオブジェクトの配列num_loops:停止するまでにルールを繰り返す回数(0 = ループなし)escalation_delay_in_minutes:エスカレーションレベル間の遅延時間
注意点:
- 各エスカレーションルールには、少なくとも1つのターゲット(ユーザー、スケジュール、またはチーム)が必要です
escalation_delay_in_minutesは、次のレベルにエスカレーションするまでの時間を定義しますnum_loopsを0に設定すると、ポリシーは1回実行されて停止します- サービスが引き続き参照しているポリシーは削除できません
6. チームの管理
使用する場面: ユーザーが PagerDuty チームを作成または管理したい場合
ツールの実行順序:
PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS- 新しいチームを作成します [必須]
主なパラメータ:
name: チーム名description: チームの説明
注意点:
- チーム名はアカウント内で一意である必要があります
- チームは、サービス、エスカレーションポリシー、スケジュールのスコープを設定するために使用されます
一般的なパターン
ID の解決
サービス名 -> サービス ID:
1. Call PAGERDUTY_RETRIEVE_LIST_OF_SERVICES
2. Find service by name in response
3. Extract id field
スケジュール名 -> スケジュール ID:
1. Call PAGERDUTY_GET_SCHEDULES
2. Find schedule by name in response
3. Extract id field
インシデントのライフサイクル
1. Incident triggered (via API, integration, or manual creation)
2. On-call user notified per escalation policy
3. User acknowledges -> status: 'acknowledged'
4. User resolves -> status: 'resolved'
ページネーション
- PagerDuty はオフセットベースのページネーションを使用します
- レスポンスの
moreブール値フィールドを確認します offsetおよびlimitパラメータを使用しますmoreが false になるまで続けます
既知の注意点
ID の形式:
- すべての PagerDuty ID は英数字の文字列です (例: 'P1234AB')
- サービスの参照には
type: 'service_reference'が必要です - ユーザーの参照には
type: 'user_reference'が必要です
ステータスの遷移:
- インシデント: triggered -> acknowledged -> resolved (一方向のみ)
- サービス: active、warning、critical、maintenance、disabled
レート制限:
- PagerDuty API はアカウントごとにレート制限を適用します
- 429 レスポンスに対しては指数バックオフを実装してください
- 一括操作は間隔を空けて実行してください
レスポンスの解析:
- レスポンスデータは
dataまたはdata.dataの下に入れ子になっている場合があります - フォールバックパターンを用いて防御的に解析してください
- ページネーションは
offset/limit/moreパターンを使用します
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメータ |
|---|---|---|
| インシデントの一覧表示 | PAGERDUTY_FETCH_INCIDENT_LIST | statuses[], service_ids[] |
| インシデントの取得 | PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID | incident_id |
| インシデントの作成 | PAGERDUTY_CREATE_INCIDENT_RECORD | title, service |
| インシデントの更新 | PAGERDUTY_UPDATE_INCIDENT_BY_ID | incident_id, status |
| インシデントノートの追加 | PAGERDUTY_POST_INCIDENT_NOTE_USING_ID | incident_id, content |
| インシデントのスヌーズ | PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION | incident_id, duration |
| インシデントアラートの取得 | PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID | incident_id |
| インシデント分析 | PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID | incident_id |
| サービスの一覧表示 | PAGERDUTY_RETRIEVE_LIST_OF_SERVICES | (なし) |
| サービスの取得 | PAGERDUTY_RETRIEVE_SERVICE_BY_ID | service_id |
| サービスの作成 | PAGERDUTY_CREATE_NEW_SERVICE | name, escalation_policy |
| サービスの更新 | PAGERDUTY_UPDATE_SERVICE_BY_ID | service_id |
| スケジュールの一覧表示 | PAGERDUTY_GET_SCHEDULES | (なし) |
| スケジュールの取得 | PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID | schedule_id |
| オンコールの取得 | PAGERDUTY_RETRIEVE_ONCALL_LIST | since, until |
| スケジュールオーバーライドの作成 | PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION | schedule_id |
| エスカレーションポリシーの一覧表示 | PAGERDUTY_FETCH_ESCALATION_POLICES_LIST | (なし) |
| エスカレーションポリシーの作成 | PAGERDUTY_CREATE_ESCALATION_POLICY | name, escalation_rules |
| チームの作成 | PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS | name, description |
使用する場面
このスキルは、概要に記載されたワークフローまたはアクションを実行する場合に適用できます。
制限事項
- このスキルは、タスクが上記の範囲に明確に一致する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が欠けている場合は、停止して確認を求めてください。