name: sentry-automation description: “通过Rube MCP(Composio)自动化Sentry任务:管理问题/事件、配置警报、追踪版本发布、监控项目和团队。始终首先搜索工具以获取当前架构。” requires: mcp: [rube] category: devops
通过Rube MCP实现Sentry自动化
自动化Sentry错误跟踪和监控操作,通过Composio的Sentry工具包通过Rube MCP。
工具包文档: 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密钥——只需添加端点即可工作。
- 确认
RUBE_SEARCH_TOOLS响应,以验证 Rube MCP 可用 - 使用工具包
sentry调用RUBE_MANAGE_CONNECTIONS - 如果连接未处于活动状态,请跟随返回的授权链接完成 Sentry OAuth
- 在运行任何工作流之前,确认连接状态显示为活动状态
核心工作流
1. 调查问题
何时使用: 用户希望查找、检查或分类错误问题
工具序列:
SENTRY_LIST_AN_ORGANIZATIONS_ISSUES- 列出组织中的所有问题 [必需]SENTRY_GET_ORGANIZATION_ISSUE_DETAILS- 获取特定问题的详细信息 [可选]SENTRY_LIST_AN_ISSUES_EVENTS- 查看问题的单个错误事件 [可选]SENTRY_RETRIEVE_AN_ISSUE_EVENT- 获取完整事件详情,包括堆栈跟踪 [可选]SENTRY_RETRIEVE_ISSUE_TAG_DETAILS- 检查问题的标签分布 [可选]
关键参数:
organization_id_or_slug: 组织标识符issue_id: 数字问题IDquery: 搜索查询(例如,is:unresolved,assigned:me,browser:Chrome)sort: 排序顺序(date,new,freq,priority)statsPeriod: 统计时间窗口(24h,14d, 等)
陷阱:
organization_id_or_slug是组织代号(例如,‘my-org’),而非显示名称- 问题ID是数字;不要与事件ID(UUID)混淆
- 查询语法使用 Sentry 的搜索格式:
is:unresolved,assigned:me,!has:release - 问题中的事件可能具有不同的堆栈跟踪;检查单个事件以获取详情
2. 管理项目问题
何时使用: 用户希望查看特定项目范围内的问题
工具序列:
SENTRY_RETRIEVE_ORGANIZATION_PROJECTS- 列出项目以找到项目代号 [前提]SENTRY_RETRIEVE_PROJECT_ISSUES_LIST- 列出特定项目的问题 [必需]SENTRY_RETRIEVE_ISSUE_EVENTS_BY_ID- 获取特定问题的事件 [可选]
关键参数:
organization_id_or_slug: 组织标识符project_id_or_slug: 项目标识符query: 搜索过滤字符串statsPeriod: 统计时间窗口
陷阱:
- 项目代号与项目显示名称不同
- 始终通过 RETRIEVE_ORGANIZATION_PROJECTS 首先将项目名称解析为代号
- 项目范围内的问题列表可能具有与组织范围内列表不同的分页
3. 配置警报规则
何时使用: 用户希望为项目创建或管理警报规则
工具序列:
SENTRY_RETRIEVE_ORGANIZATION_PROJECTS- 查找警报的项目 [前提]SENTRY_RETRIEVE_PROJECT_RULES_BY_ORG_AND_PROJECT_ID- 列出现有规则 [可选]SENTRY_CREATE_PROJECT_RULE_FOR_ALERTS- 创建新的警报规则 [必需]SENTRY_CREATE_ORGANIZATION_ALERT_RULE- 创建组织级别度量警报 [替代]SENTRY_UPDATE_ORGANIZATION_ALERT_RULES- 更新现有警报规则 [可选]SENTRY_RETRIEVE_ALERT_RULE_DETAILS- 检查特定警报规则 [可选]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. 管理版本发布
何时使用: 用户希望创建、追踪或管理发布版本
工具序列:
SENTRY_LIST_ORGANIZATION_RELEASES- 列出现有发布 [可选]SENTRY_CREATE_RELEASE_FOR_ORGANIZATION- 创建新发布 [必需]SENTRY_UPDATE_RELEASE_DETAILS_FOR_ORGANIZATION- 更新发布元数据 [可选]SENTRY_CREATE_RELEASE_DEPLOY_FOR_ORG- 记录发布的部署 [可选]SENTRY_UPLOAD_RELEASE_FILE_TO_ORGANIZATION- 上传源映射或文件 [可选]
关键参数:
version: 发布版本字符串(例如,‘1.0.0’, 提交 SHA)projects: 此发布所属的项目代号数组dateReleased: 发布时间戳(ISO 8601)environment: 部署环境名称(例如,‘production’, ‘staging’)
陷阱:
- 发布版本在组织内必须唯一
- 发布可以跨多个项目;使用
projects数组 - 部署发布与创建发布分开;使用 CREATE_RELEASE_DEPLOY
- 源映射上传要求发布首先存在
5. 监控组织和团队
何时使用: 用户希望查看组织结构、团队或成员列表
工具序列:
SENTRY_GET_ORGANIZATION_DETAILS或SENTRY_GET_ORGANIZATION_BY_ID_OR_SLUG- 获取组织信息 [必需]SENTRY_LIST_TEAMS_IN_ORGANIZATION- 列出所有团队 [可选]SENTRY_LIST_ORGANIZATION_MEMBERS- 列出组织成员 [可选]SENTRY_GET_PROJECT_LIST- 列出所有可访问项目 [可选]
关键参数:
organization_id_or_slug: 组织标识符cursor: 大型结果集的分页游标
陷阱:
- 组织代号是URL安全标识符,而非显示名称
- 成员列表可能分页;遵循游标分页
- 团队和成员可见性取决于认证用户的权限
6. 管理监控器(Cron监控)
何时使用: 用户希望更新定时作业监控配置
工具序列:
SENTRY_UPDATE_A_MONITOR- 更新监控器配置 [必需]
关键参数:
organization_id_or_slug: 组织标识符monitor_id_or_slug: 监控器标识符name: 监控器显示名称schedule: Cron调度表达式或间隔checkin_margin: 迟到检查的宽限期(分钟)max_runtime: 最大预期运行时间(分钟)
陷阱:
- 监控器代号自动从名称生成;在API调用中使用代号
- 调度更改立即生效
- 缺失检查会在宽限期后触发警报
常见模式
ID解析
组织名称 -> 代号:
1. 调用 SENTRY_GET_ORGANIZATION_DETAILS
2. 从响应中提取 slug 字段
项目名称 -> 代号:
1. 调用 SENTRY_RETRIEVE_ORGANIZATION_PROJECTS
2. 按名称查找项目,提取 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格式:
- 组织:使用代号(例如,‘my-org’),非显示名称
- 项目:使用代号(例如,‘my-project’),非显示名称
- 问题ID:数字整数
- 事件ID:UUID(32字符十六进制字符串)
权限:
- API令牌范围必须与执行的操作匹配
- 组织级别操作需要组织级别权限
- 项目级别操作需要项目访问权限
速率限制:
- Sentry 强制执行每个组织的速率限制
- 在429响应时实现退避机制
- 批量操作应错开执行
快速参考
| 任务 | 工具代号 | 关键参数 |
|---|---|---|
| 列出组织问题 | SENTRY_LIST_AN_ORGANIZATIONS_ISSUES | organization_id_or_slug, query |
| 获取问题详情 | SENTRY_GET_ORGANIZATION_ISSUE_DETAILS | organization_id_or_slug, issue_id |
| 列出问题事件 | SENTRY_LIST_AN_ISSUES_EVENTS | issue_id |
| 获取事件详情 | SENTRY_RETRIEVE_AN_ISSUE_EVENT | organization_id_or_slug, event_id |
| 列出项目问题 | SENTRY_RETRIEVE_PROJECT_ISSUES_LIST | organization_id_or_slug, project_id_or_slug |
| 列出项目 | SENTRY_RETRIEVE_ORGANIZATION_PROJECTS | organization_id_or_slug |
| 获取组织详情 | SENTRY_GET_ORGANIZATION_DETAILS | organization_id_or_slug |
| 列出团队 | SENTRY_LIST_TEAMS_IN_ORGANIZATION | organization_id_or_slug |
| 列出成员 | SENTRY_LIST_ORGANIZATION_MEMBERS | organization_id_or_slug |
| 创建警报规则 | SENTRY_CREATE_PROJECT_RULE_FOR_ALERTS | organization_id_or_slug, project_id_or_slug |
| 创建度量警报 | SENTRY_CREATE_ORGANIZATION_ALERT_RULE | organization_id_or_slug |
| 创建发布 | SENTRY_CREATE_RELEASE_FOR_ORGANIZATION | organization_id_or_slug, version |
| 部署发布 | SENTRY_CREATE_RELEASE_DEPLOY_FOR_ORG | organization_id_or_slug, version |
| 列出发布 | SENTRY_LIST_ORGANIZATION_RELEASES | organization_id_or_slug |
| 更新监控器 | SENTRY_UPDATE_A_MONITOR | organization_id_or_slug, monitor_id_or_slug |
由 Composio 提供支持