mcpField
S
sentry-automation

sentry-automation

github.com/davepoon测试与质量3.7k116 次安装1 天前更新
代码仓库

关于 sentry-automation

通过 Composio 的 Sentry 工具包和 Rube MCP 自动执行 Sentry 错误监控任务,适用于处理错误与监控的团队,涵盖问题排查、告警、版本及组织数据管理。

主要功能

  1. 01排查问题与事件
  2. 02创建和更新告警规则
  3. 03创建并跟踪版本
  4. 04查看组织与团队数据
  5. 05更新 Cron 监控

适用场景

  1. 01排查未解决错误并查看堆栈跟踪
  2. 02配置项目或组织级告警
  3. 03记录版本发布与部署
  4. 04查看团队、成员和项目

MCP 相关

通过 Rube MCP 使用 Composio 的 Sentry 工具包。使用 RUBE_MANAGE_CONNECTIONS 连接 Sentry,并通过 RUBE_SEARCH_TOOLS 获取当前工具架构。

安装

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill sentry-automation

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

详细介绍

通过 Rube MCP 自动化 Sentry

通过 Rube MCP 调用 Composio 的 Sentry 工具包,自动化 Sentry 错误跟踪和监控操作。

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

前提条件

  • 必须已连接 Rube MCP(可用 RUBE_SEARCH_TOOLS)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Sentry 连接,工具包为 sentry
  • 务必先调用 RUBE_SEARCH_TOOLS,获取当前工具架构

设置

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

  1. 确认 RUBE_SEARCH_TOOLS 可以响应,以验证 Rube MCP 已就绪
  2. 调用 RUBE_MANAGE_CONNECTIONS,工具包设为 sentry
  3. 如果连接状态不是 ACTIVE,请使用返回的授权链接完成 Sentry OAuth
  4. 运行任何工作流前,确认连接状态显示为 ACTIVE

核心工作流

1. 调查问题

适用场景:用户想要查找、检查或分类错误问题

工具调用顺序:

  1. SENTRY_LIST_AN_ORGANIZATIONS_ISSUES - 列出组织中的问题 [Required]
  2. SENTRY_GET_ORGANIZATION_ISSUE_DETAILS - 获取特定问题的详细信息 [Optional]
  3. SENTRY_LIST_AN_ISSUES_EVENTS - 查看问题对应的单个错误事件 [Optional]
  4. SENTRY_RETRIEVE_AN_ISSUE_EVENT - 获取包含堆栈跟踪的完整事件详情 [Optional]
  5. SENTRY_RETRIEVE_ISSUE_TAG_DETAILS - 检查问题的标签分布 [Optional]

关键参数:

  • organization_id_or_slug:组织标识符
  • issue_id:数字格式的问题 ID
  • query:搜索查询(例如,is:unresolved、assigned:me、browser:Chrome)
  • sort:排序顺序(date、new、freq、priority)
  • statsPeriod:统计时间范围(24h、14d 等)

注意事项:

  • organization_id_or_slug 是组织的 slug(例如,'my-org'),而不是显示名称
  • 问题 ID 为数字;不要与 UUID 格式的事件 ID 混淆
  • 查询语法使用 Sentry 的搜索格式:is:unresolved、assigned:me、!has:release
  • 同一问题中的事件可能有不同的堆栈跟踪;请检查单个事件以了解详情
2. 管理项目问题

适用场景:用户想要查看特定项目中的问题

工具调用顺序:

  1. SENTRY_RETRIEVE_ORGANIZATION_PROJECTS - 列出项目以查找项目 slug [Prerequisite]
  2. SENTRY_RETRIEVE_PROJECT_ISSUES_LIST - 列出特定项目的问题 [Required]
  3. SENTRY_RETRIEVE_ISSUE_EVENTS_BY_ID - 获取特定问题的事件 [Optional]

关键参数:

  • organization_id_or_slug:组织标识符
  • project_id_or_slug:项目标识符
  • query:搜索过滤字符串
  • statsPeriod:统计时间范围

注意事项:

  • 项目 slug 与项目显示名称不同
  • 请务必先通过 RETRIEVE_ORGANIZATION_PROJECTS 将项目名称解析为 slug
  • 按项目筛选的问题列表,其分页方式可能与按组织筛选的列表不同
3. 配置告警规则

适用场景:用户想要为项目创建或管理告警规则

工具调用顺序:

  1. SENTRY_RETRIEVE_ORGANIZATION_PROJECTS - 查找告警对应的项目 [前置条件]
  2. SENTRY_RETRIEVE_PROJECT_RULES_BY_ORG_AND_PROJECT_ID - 列出已有规则 [可选]
  3. SENTRY_CREATE_PROJECT_RULE_FOR_ALERTS - 创建新的告警规则 [必需]
  4. SENTRY_CREATE_ORGANIZATION_ALERT_RULE - 创建组织级指标告警 [替代方案]
  5. SENTRY_UPDATE_ORGANIZATION_ALERT_RULES - 更新已有告警规则 [可选]
  6. SENTRY_RETRIEVE_ALERT_RULE_DETAILS - 查看特定告警规则 [可选]
  7. SENTRY_GET_PROJECT_RULE_DETAILS - 获取项目级规则详情 [可选]

关键参数:

  • name:告警规则名称
  • conditions:触发条件数组
  • actions:触发时要执行的操作数组
  • filters:事件筛选条件数组
  • frequency:触发频率(分钟)
  • actionMatch:条件匹配方式,可设为 'all'、'any' 或 'none'

注意事项:

  • 项目级规则(CREATE_PROJECT_RULE)与组织级指标告警(CREATE_ORGANIZATION_ALERT_RULE)不同
  • 条件、操作和筛选条件使用特定的 JSON 架构;请查看 Sentry 文档了解有效类型
  • frequency 的单位是分钟;设置过低会导致告警疲劳
  • actionMatch 的默认值可能有所不同;请显式设置,以避免意外行为
4. 管理发布版本

适用场景:用户想要创建、跟踪或管理发布版本

工具调用顺序:

  1. SENTRY_LIST_ORGANIZATION_RELEASES - 列出现有发布版本 [可选]
  2. SENTRY_CREATE_RELEASE_FOR_ORGANIZATION - 创建新的发布版本 [必需]
  3. SENTRY_UPDATE_RELEASE_DETAILS_FOR_ORGANIZATION - 更新发布版本元数据 [可选]
  4. SENTRY_CREATE_RELEASE_DEPLOY_FOR_ORG - 记录发布版本的部署 [可选]
  5. SENTRY_UPLOAD_RELEASE_FILE_TO_ORGANIZATION - 上传源映射或文件 [可选]

关键参数:

  • version:发布版本字符串(例如,'1.0.0'、提交 SHA)
  • projects:此发布版本所属项目的 slug 数组
  • dateReleased:发布时间戳(ISO 8601)
  • environment:部署环境名称(例如,'production'、'staging')

注意事项:

  • 同一组织内的发布版本必须唯一
  • 一个发布版本可以涉及多个项目;请使用 projects 数组
  • 部署发布版本与创建发布版本是分开的;请使用 CREATE_RELEASE_DEPLOY
  • 上传源映射前,必须先创建发布版本
5. 监控组织和团队

适用场景:用户想要查看组织结构、团队或成员列表

工具调用顺序:

  1. SENTRY_GET_ORGANIZATION_DETAILS 或 SENTRY_GET_ORGANIZATION_BY_ID_OR_SLUG - 获取组织信息 [必需]
  2. SENTRY_LIST_TEAMS_IN_ORGANIZATION - 列出所有团队 [可选]
  3. SENTRY_LIST_ORGANIZATION_MEMBERS - 列出组织成员 [可选]
  4. SENTRY_GET_PROJECT_LIST - 列出所有可访问的项目 [可选]

关键参数:

  • organization_id_or_slug:组织标识符
  • cursor:大型结果集的分页游标

注意事项:

  • 组织 slug 是适用于 URL 的标识符,不是显示名称
  • 成员列表可能会分页;请使用游标分页
  • 团队和成员的可见性取决于已验证用户的权限
6. 管理监控器(Cron 监控)

适用场景:用户想要更新 Cron 作业监控配置

工具调用顺序:

  1. SENTRY_UPDATE_A_MONITOR - 更新监控器配置 [必需]

关键参数:

  • organization_id_or_slug:组织标识符
  • monitor_id_or_slug:监控器标识符
  • name:监控器显示名称
  • schedule:Cron 计划表达式或间隔
  • checkin_margin:延迟签入的宽限时间(分钟)
  • max_runtime:预期最长运行时间(分钟)

注意事项:

  • 监控器 slug 根据名称自动生成;API 调用时请使用 slug
  • 计划变更会立即生效
  • 缺少签入时,会在宽限期结束后触发告警

常见模式

ID 解析

组织名称 -> Slug:

1. Call SENTRY_GET_ORGANIZATION_DETAILS
2. Extract slug field from response

项目名称 -> Slug:

1. Call SENTRY_RETRIEVE_ORGANIZATION_PROJECTS
2. Find project by name, extract slug
分页
  • Sentry 使用基于游标的分页,并通过 Link 标头提供信息
  • 检查响应中的游标值
  • 在后续请求中传递游标,直到没有更多页面
搜索查询语法
  • is:unresolved - 未解决的问题
  • is:resolved - 已解决的问题
  • assigned:me - 分配给当前用户
  • assigned:team-slug - 分配给某个团队
  • !has:release - 没有关联版本的问题
  • first-release:1.0.0 - 首次在某个版本中出现的问题
  • times-seen:>100 - 出现次数超过 100 次
  • browser:Chrome - 按浏览器标签筛选

已知陷阱

ID 格式:

  • 组织:使用 slug(例如,'my-org'),而不是显示名称
  • 项目:使用 slug(例如,'my-project'),而不是显示名称
  • 问题 ID:数字整数
  • 事件 ID:UUID(32 位十六进制字符串)

权限:

  • API 令牌的作用域必须与要执行的操作相匹配
  • 组织级操作需要组织级权限
  • 项目级操作需要项目访问权限

速率限制:

  • Sentry 对每个组织实施速率限制
  • 收到 429 响应时实施退避
  • 批量操作应错开执行

快速参考

任务工具 Slug关键参数
列出组织问题SENTRY_LIST_AN_ORGANIZATIONS_ISSUESorganization_id_or_slug, query
获取问题详情SENTRY_GET_ORGANIZATION_ISSUE_DETAILSorganization_id_or_slug, issue_id
列出问题事件SENTRY_LIST_AN_ISSUES_EVENTSissue_id
获取事件详情SENTRY_RETRIEVE_AN_ISSUE_EVENTorganization_id_or_slug, event_id
列出项目问题SENTRY_RETRIEVE_PROJECT_ISSUES_LISTorganization_id_or_slug, project_id_or_slug
列出项目SENTRY_RETRIEVE_ORGANIZATION_PROJECTSorganization_id_or_slug
获取组织详情SENTRY_GET_ORGANIZATION_DETAILSorganization_id_or_slug
列出团队SENTRY_LIST_TEAMS_IN_ORGANIZATIONorganization_id_or_slug
列出成员SENTRY_LIST_ORGANIZATION_MEMBERSorganization_id_or_slug
创建告警规则SENTRY_CREATE_PROJECT_RULE_FOR_ALERTSorganization_id_or_slug, project_id_or_slug
创建指标告警SENTRY_CREATE_ORGANIZATION_ALERT_RULEorganization_id_or_slug
创建版本SENTRY_CREATE_RELEASE_FOR_ORGANIZATIONorganization_id_or_slug, version
部署版本SENTRY_CREATE_RELEASE_DEPLOY_FOR_ORGorganization_id_or_slug, version
列出版本SENTRY_LIST_ORGANIZATION_RELEASESorganization_id_or_slug
更新监控器SENTRY_UPDATE_A_MONITORorganization_id_or_slug, monitor_id_or_slug

由 Composio 提供支持

评论

支持 Markdown