跳转到主要内容
POST
/
channel
/
inhibit
/
rule
/
create
创建抑制策略
curl --request POST \
  --url 'https://api.flashcat.cloud/channel/inhibit/rule/create?app_key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "channel_id": 3521074710131,
  "rule_name": "Suppress Info when Critical fires",
  "description": "When a Critical alert fires, suppress matching Info alerts",
  "equals": [
    "labels.cluster",
    "labels.service"
  ],
  "source_filters": [
    [
      {
        "key": "severity",
        "oper": "IN",
        "vals": [
          "Critical"
        ]
      }
    ]
  ],
  "target_filters": [
    [
      {
        "key": "severity",
        "oper": "IN",
        "vals": [
          "Info"
        ]
      }
    ]
  ],
  "is_directly_discard": false
}
'
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {
    "rule_id": "69db2f69a0fe7db6448b1504",
    "rule_name": "Test inhibit rule"
  }
}

限制说明

项目说明
速率限制每个账户 1,000 次/分钟50 次/秒
权限要求协作空间管理on-call

授权

app_key
string
query
必填

在 Flashduty 控制台 账户 → APP Key 中签发的 app_key。调用任何公开 API 时都必须携带。它等同于所属账户的身份凭证,请妥善保管。

请求体

application/json

创建抑制策略所需的参数。

channel_id
integer<int64>
必填

所属协作空间 ID。

rule_name
string
必填

策略名称,1 到 39 个字符。

Required string length: 1 - 39
equals
string[]
必填

用于匹配源告警与目标告警的 label 键列表。

priority
integer

匹配优先级,数值越小越优先。

description
string

策略描述,最多 500 个字符。

Maximum string length: 500
source_filters
object[][]

或-与组合条件树。每个外层元素为一组 AND 条件,组内所有条件需同时满足。

target_filters
object[][]

或-与组合条件树。每个外层元素为一组 AND 条件,组内所有条件需同时满足。

is_directly_discard
boolean

为 true 时被抑制的目标告警将直接丢弃而非合并。

响应

成功

成功响应结构。2xx 响应中 request_id 标识本次调用(同时出现在 Flashcat-Request-Id 响应头中),data 为接口业务 payload。失败响应使用不同结构,参见 ErrorResponse

request_id
string
必填

本次请求的唯一 ID,也会在 Flashcat-Request-Id 响应头中返回。反馈问题时请一并附上。

示例:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object
必填

每个接口自己的业务 payload,详见各接口的 200 响应 schema。