mcpField
P
pagerduty-automation

pagerduty-automation

github.com/composiohq云与 DevOps78.3k64 次安装14 周前更新
代码仓库

关于 pagerduty-automation

通过 Rube MCP 使用 Composio 的 PagerDuty 工具包,自动化 PagerDuty 事件响应与运维,也可管理服务、值班计划、升级策略和团队。

主要功能

  1. 01创建、更新、确认和解决事件
  2. 02查看事件告警和分析数据
  3. 03管理技术服务和业务服务
  4. 04查看和配置值班计划
  5. 05创建和修改升级策略
  6. 06创建 PagerDuty 团队

适用场景

  1. 01分诊并更新进行中的事件
  2. 02查看告警详情和事件指标
  3. 03确认值班人员或调整轮值
  4. 04为服务设置升级规则

MCP 相关

通过 Rube MCP 访问 Composio 的 PagerDuty 工具包。运行工作流前需连接 PagerDuty 并获取最新工具架构。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill pagerduty-automation

安装后在 Claude Code 中输入/pagerduty-automation确认已加载。

详细介绍

通过 Rube MCP 自动化 PagerDuty

通过 Rube MCP 使用 Composio 的 PagerDuty 工具包,自动化 PagerDuty 事件管理和运维。

工具包文档:composio.dev/toolkits/pagerduty

前提条件

  • 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
  • 通过 RUBE_MANAGE_CONNECTIONS 激活 PagerDuty 连接,工具包为 pagerduty
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取最新的工具架构

设置

获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用
  2. 调用 RUBE_MANAGE_CONNECTIONS,并指定工具包 pagerduty
  3. 如果连接状态不是 ACTIVE,请根据返回的授权链接完成 PagerDuty 身份验证
  4. 运行任何工作流前,确认连接状态为 ACTIVE

核心工作流

1. 管理事件

适用场景:用户希望创建、更新、确认或解决事件

工具调用顺序:

  1. PAGERDUTY_FETCH_INCIDENT_LIST - 按条件筛选并列出事件[必需]
  2. PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID - 获取特定事件的详细信息[可选]
  3. PAGERDUTY_CREATE_INCIDENT_RECORD - 创建新事件[可选]
  4. PAGERDUTY_UPDATE_INCIDENT_BY_ID - 更新事件状态或分配情况[可选]
  5. PAGERDUTY_POST_INCIDENT_NOTE_USING_ID - 为事件添加备注[可选]
  6. 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. 查看事件告警和分析数据

适用场景:用户希望查看事件中的告警或分析事件指标

工具调用顺序:

  1. PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID - 列出事件的告警[必需]
  2. PAGERDUTY_GET_INCIDENT_ALERT_DETAILS - 获取特定告警的详细信息[可选]
  3. PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID - 获取事件分析数据/指标[可选]

关键参数:

  • incident_id:事件 ID
  • alert_id:事件中的特定告警 ID
  • statuses[]:按状态筛选告警

注意事项:

  • 一个事件可能包含多个告警;每个告警都有自己的状态
  • 告警 ID 的作用范围仅限于所属事件
  • 分析数据包括响应时间、参与度指标和解决时间
3. 管理服务

使用时机:用户想要创建、更新或列出服务

工具调用顺序:

  1. PAGERDUTY_RETRIEVE_LIST_OF_SERVICES - 列出所有服务 [必需]
  2. PAGERDUTY_RETRIEVE_SERVICE_BY_ID - 获取服务详情 [可选]
  3. PAGERDUTY_CREATE_NEW_SERVICE - 创建新的技术服务 [可选]
  4. PAGERDUTY_UPDATE_SERVICE_BY_ID - 更新服务配置 [可选]
  5. PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE - 为服务添加集成 [可选]
  6. PAGERDUTY_CREATE_BUSINESS_SERVICE - 创建业务服务 [可选]
  7. 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. 管理排班和待命安排

使用时机:用户想要查看或管理待命排班和轮班安排

工具调用顺序:

  1. PAGERDUTY_GET_SCHEDULES - 列出所有排班 [必需]
  2. PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID - 获取指定排班的详情 [可选]
  3. PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER - 创建新的排班 [可选]
  4. PAGERDUTY_UPDATE_SCHEDULE_BY_ID - 更新现有排班 [可选]
  5. PAGERDUTY_RETRIEVE_ONCALL_LIST - 查看当前待命人员 [可选]
  6. PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION - 创建临时覆盖安排 [可选]
  7. PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID - 移除覆盖安排 [可选]
  8. PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID - 列出排班中的用户 [可选]
  9. PAGERDUTY_PREVIEW_SCHEDULE_OBJECT - 保存前预览排班变更 [可选]

关键参数:

  • schedule_id:排班标识符
  • time_zone:排班时区(例如,'America/New_York')
  • schedule_layers:轮班层配置数组
  • since/until:待命查询的日期范围(ISO 8601)
  • override:包含用户、开始时间和结束时间的覆盖对象

注意事项:

  • 排班层定义轮班顺序;多个层可以重叠
  • 覆盖安排是临时的,优先级高于正常排班
  • 待命查询需要提供 since 和 until,以限定时间范围
  • 时区必须是有效的 IANA 时区字符串
  • 复杂排班变更保存前应先预览,以验证其正确性
5. 管理升级策略

使用时机:用户想要创建或修改升级策略

工具调用顺序:

  1. PAGERDUTY_FETCH_ESCALATION_POLICES_LIST - 列出所有升级策略 [必需]
  2. PAGERDUTY_GET_ESCALATION_POLICY_BY_ID - 获取策略详情 [可选]
  3. PAGERDUTY_CREATE_ESCALATION_POLICY - 创建新的策略 [可选]
  4. PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID - 更新现有策略 [可选]
  5. PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS - 查看策略的审计记录 [可选]

关键参数:

  • name:策略名称
  • escalation_rules:升级规则对象数组
  • num_loops:停止前循环执行规则的次数(0 = 不循环)
  • escalation_delay_in_minutes:升级级别之间的延迟时间

注意事项:

  • 每条升级规则至少需要一个目标(用户、排班或团队)
  • escalation_delay_in_minutes 定义升级到下一级别前的等待时间
  • 将 num_loops 设为 0 表示策略运行一次后停止
  • 如果仍有服务引用某策略,则无法删除该策略
6. 管理团队

适用场景:用户想要创建或管理 PagerDuty 团队

工具调用顺序:

  1. 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_LISTstatuses[], service_ids[]
获取事件PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_IDincident_id
创建事件PAGERDUTY_CREATE_INCIDENT_RECORDtitle, service
更新事件PAGERDUTY_UPDATE_INCIDENT_BY_IDincident_id, status
添加事件备注PAGERDUTY_POST_INCIDENT_NOTE_USING_IDincident_id, content
暂缓事件PAGERDUTY_SNOOZE_INCIDENT_BY_DURATIONincident_id, duration
获取事件警报PAGERDUTY_GET_ALERTS_BY_INCIDENT_IDincident_id
事件分析PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_IDincident_id
列出服务PAGERDUTY_RETRIEVE_LIST_OF_SERVICES(none)
获取服务PAGERDUTY_RETRIEVE_SERVICE_BY_IDservice_id
创建服务PAGERDUTY_CREATE_NEW_SERVICEname, escalation_policy
更新服务PAGERDUTY_UPDATE_SERVICE_BY_IDservice_id
列出排班表PAGERDUTY_GET_SCHEDULES(none)
获取排班表PAGERDUTY_RETRIEVE_SCHEDULE_BY_IDschedule_id
获取值班人员PAGERDUTY_RETRIEVE_ONCALL_LISTsince, until
创建排班表覆盖配置PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATIONschedule_id
列出升级策略PAGERDUTY_FETCH_ESCALATION_POLICES_LIST(none)
创建升级策略PAGERDUTY_CREATE_ESCALATION_POLICYname, escalation_rules
创建团队PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILSname, description

由 Composio 提供支持

评论

支持 Markdown