关于 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:更新操作的新状态
注意事项:
- 创建事件时,
service对象必须同时包含id和type: 'service_reference' - 状态转换顺序为: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[]:按状态筛选警报
注意事项:
- 一个事件可以包含多个警报;每个警报都有自己的状态
- 警报 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:升级级别之间的延迟时间
注意事项:
- 每条升级规则至少需要一个目标(用户、排班或团队)
escalation_delay_in_minutes定义升级到下一级别前的等待时间- 将
num_loops设为 0 表示策略运行一次后停止 - 如果仍有服务引用某策略,则无法删除该策略
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 |
使用时机
本技能适用于执行概述中描述的工作流或操作。
限制
- 仅当任务明确符合上述范围时才使用本技能。
- 不要将输出视为特定环境验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。