SuperAPI AI 工具集

sentry-create-alert

部署与运维

查看项目

更新于 10-15 12:27

技能介绍

用途

sentry-create-alert 用于通过 Sentry 的工作流引擎 API 创建告警。当用户要求创建 Sentry 告警、设置通知、配置问题优先级告警或构建工作流自动化时,可以调用此技能。

注意:该 API 目前处于测试阶段,可能发生变化。它属于新版监控与告警功能,可能无法在旧版告警界面中查看。

主要能力

  • 创建基于触发事件和过滤条件的告警工作流。
  • 支持多种通知动作类型:email、slack、pagerduty、discord、msteams、opsgenie、jira、github。
  • 可配置触发事件类型,如 first_seen_event、regression_event、reappeared_event、issue_resolved_trigger。
  • 支持丰富的过滤条件,包括问题优先级、事件频率、受影响用户数、标签匹配、分配对象、事件级别、问题年龄、问题类别、问题出现次数等。
  • 可设置通知频率(分钟间隔)。
  • 支持对已创建的工作流进行列出、获取、更新和删除操作。

使用方式

前置条件

  • shell 中可用 curl。
  • 具有 alerts:write 权限的 Sentry 组织认证令牌(也接受 org:admin 或 org:write)。

阶段 1:收集配置

向用户询问缺失的详细信息,包括:组织 slug、认证令牌、区域(默认 us,us 对应 us.sentry.io,de 对应 de.sentry.io)、告警名称、触发事件、条件(可选)、动作类型、动作目标。

阶段 2:查找 ID

使用 API 调用将名称解析为 ID,例如通过邮箱查找用户 ID、列出团队、列出集成(用于 Slack/PagerDuty)。

阶段 3:构建负载

选择触发事件,使用 logicType: "any-short"。设置过滤条件,使用 logicType: "all"、"any-short" 或 "none"。comparison 字段是多态的,其形状取决于条件类型。配置动作,不同动作类型有不同的关键配置。

完整负载结构示例:

{
  "name": "<Alert Name>",
  "enabled": true,
  "environment": null,
  "config": { "frequency": 30 },
  "triggers": {
    "logicType": "any-short",
    "conditions": [
      { "type": "first_seen_event", "comparison": true, "conditionResult": true }
    ],
    "actions": []
  },
  "actionFilters": [{
    "logicType": "all",
    "conditions": [
      { "type": "issue_priority_greater_or_equal", "comparison": 75, "conditionResult": true },
      { "type": "event_frequency_count", "comparison": {"value": 50, "interval": "1hr"}, "conditionResult": true }
    ],
    "actions": [{
      "type": "email",
      "integrationId": null,
      "data": {},
      "config": {
        "targetType": "user",
        "targetIdentifier": "<user_id>",
        "targetDisplay": null
      },
      "status": "active"
    }]
  }]
}

frequency 为重复通知之间的分钟数,允许值:0、5、10、30、60、180、720、1440。

结构说明:triggers.actions 始终为 [],动作位于 actionFilters[].actions 内。

阶段 4:创建告警

使用 curl 发送 POST 请求到工作流端点,预期返回 HTTP 201,响应包含工作流 id。

阶段 5:验证

确认告警已创建,并提供 UI 链接。如果组织缺少 workflow-engine-ui 功能标志,告警会出现在另一个链接下。

管理告警

可列出所有工作流、获取单个工作流、更新工作流、删除工作流(预期返回 204)。

适用场景

  • 用户要求创建 Sentry 告警或设置通知。
  • 用户希望在问题匹配特定条件时收到邮件或通知。
  • 用户提到优先级告警、降级告警或工作流自动化。
  • 用户希望为 Sentry 问题配置 Slack、PagerDuty 或邮件通知。

限制

  • API 处于测试阶段,可能发生变化。
  • 可能无法在旧版告警界面中查看。
  • 需要具备相应权限的认证令牌。
  • 需要 shell 中可用 curl。
  • 故障排除:401 表示令牌需要 alerts:write 权限;403 表示令牌必须属于目标组织;404 检查组织 slug 和区域;400 验证负载 JSON 结构和必填字段;用户 ID 未找到时验证邮箱是否匹配组织成员。