From 11452f58c9d5321d53b874ad099175431dea9c0c Mon Sep 17 00:00:00 2001 From: ysyneu Date: Fri, 21 Aug 2026 09:16:31 -0700 Subject: [PATCH 1/4] docs(api): drop the retired priority field from channel rule schemas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Silence, inhibit and unsubscribe rules no longer accept or return `priority`. The matching engine evaluates these rules in creation order, so the field never affected behavior and its "lower runs first" wording misdescribed how rules are ordered. Remove it from the drop-rule create/update request schemas, which still declared it, and from the silence/inhibit/unsubscribe list-response examples, which still showed it. Escalation and subscription rules keep `priority` — theirs is genuinely used for matching and ordering. --- api-reference/on-call.openapi.en.json | 11 ----------- api-reference/on-call.openapi.zh.json | 11 ----------- api-reference/openapi.en.json | 11 ----------- api-reference/openapi.zh.json | 11 ----------- 4 files changed, 44 deletions(-) diff --git a/api-reference/on-call.openapi.en.json b/api-reference/on-call.openapi.en.json index 270ee7d..52294b3 100644 --- a/api-reference/on-call.openapi.en.json +++ b/api-reference/on-call.openapi.en.json @@ -10024,7 +10024,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Drop test alerts", "description": "", "filters": [ @@ -10688,7 +10687,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Suppress downstream alerts", "description": "", "source_filters": [ @@ -12975,7 +12973,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Silence Info alerts", "description": "", "from_incident_id": "000000000000000000000000", @@ -19920,10 +19917,6 @@ "format": "int64", "description": "Owning channel ID; obtain it from `POST /channel/list`." }, - "priority": { - "type": "integer", - "description": "Evaluation priority. Lower runs first." - }, "rule_name": { "type": "string", "minLength": 1, @@ -28586,10 +28579,6 @@ "pattern": "^[0-9a-fA-F]{24}$", "description": "Drop rule ID (MongoDB ObjectID)." }, - "priority": { - "type": "integer", - "description": "Evaluation priority. Lower runs first." - }, "rule_name": { "type": "string", "minLength": 1, diff --git a/api-reference/on-call.openapi.zh.json b/api-reference/on-call.openapi.zh.json index 9fabfc1..038790e 100644 --- a/api-reference/on-call.openapi.zh.json +++ b/api-reference/on-call.openapi.zh.json @@ -10016,7 +10016,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Drop test alerts", "description": "", "filters": [ @@ -10680,7 +10679,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Suppress downstream alerts", "description": "", "source_filters": [ @@ -12967,7 +12965,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Silence Info alerts", "description": "", "from_incident_id": "000000000000000000000000", @@ -19912,10 +19909,6 @@ "format": "int64", "description": "所属协作空间 ID,可通过 `POST /channel/list` 获取。" }, - "priority": { - "type": "integer", - "description": "匹配优先级,数值越小越优先。" - }, "rule_name": { "type": "string", "minLength": 1, @@ -28577,10 +28570,6 @@ "pattern": "^[0-9a-fA-F]{24}$", "description": "排除规则 ID(MongoDB ObjectID)。" }, - "priority": { - "type": "integer", - "description": "匹配优先级,数值越小越优先。" - }, "rule_name": { "type": "string", "minLength": 1, diff --git a/api-reference/openapi.en.json b/api-reference/openapi.en.json index f1e3828..2338882 100644 --- a/api-reference/openapi.en.json +++ b/api-reference/openapi.en.json @@ -3465,7 +3465,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Silence Info alerts", "description": "", "from_incident_id": "000000000000000000000000", @@ -3960,7 +3959,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Suppress downstream alerts", "description": "", "source_filters": [ @@ -4462,7 +4460,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Drop test alerts", "description": "", "filters": [ @@ -35209,10 +35206,6 @@ "format": "int64", "description": "Owning channel ID; obtain it from `POST /channel/list`." }, - "priority": { - "type": "integer", - "description": "Evaluation priority. Lower runs first." - }, "rule_name": { "type": "string", "minLength": 1, @@ -36471,10 +36464,6 @@ "pattern": "^[0-9a-fA-F]{24}$", "description": "Drop rule ID (MongoDB ObjectID)." }, - "priority": { - "type": "integer", - "description": "Evaluation priority. Lower runs first." - }, "rule_name": { "type": "string", "minLength": 1, diff --git a/api-reference/openapi.zh.json b/api-reference/openapi.zh.json index 5da4385..9594585 100644 --- a/api-reference/openapi.zh.json +++ b/api-reference/openapi.zh.json @@ -3465,7 +3465,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Silence Info alerts", "description": "", "from_incident_id": "000000000000000000000000", @@ -3960,7 +3959,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Suppress downstream alerts", "description": "", "source_filters": [ @@ -4462,7 +4460,6 @@ { "account_id": 2451002751131, "channel_id": 5967964835131, - "priority": 0, "rule_name": "Drop test alerts", "description": "", "filters": [ @@ -35200,10 +35197,6 @@ "format": "int64", "description": "所属协作空间 ID,可通过 `POST /channel/list` 获取。" }, - "priority": { - "type": "integer", - "description": "匹配优先级,数值越小越优先。" - }, "rule_name": { "type": "string", "minLength": 1, @@ -36462,10 +36455,6 @@ "pattern": "^[0-9a-fA-F]{24}$", "description": "排除规则 ID(MongoDB ObjectID)。" }, - "priority": { - "type": "integer", - "description": "匹配优先级,数值越小越优先。" - }, "rule_name": { "type": "string", "minLength": 1, From aa6782c40e5193ca4aede76209cd2769eaabebc0 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Fri, 21 Aug 2026 09:21:40 -0700 Subject: [PATCH 2/4] docs(api): document duty_version on the knowledge pack item MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Knowledge packs now carry `duty_version`, the pack version at which DUTY.md was last authored or re-affirmed. The console compares it against `version` to decide whether DUTY.md still reflects the pack's files, so API consumers need it to reproduce that check. Add the property to `KnowledgePackItem` (and to its required list — the field is always emitted), and show it in the pack list, get, ensure and update response examples. --- api-reference/openapi.en.json | 10 ++++++++++ api-reference/openapi.zh.json | 10 ++++++++++ api-reference/safari.openapi.en.json | 10 ++++++++++ api-reference/safari.openapi.zh.json | 10 ++++++++++ 4 files changed, 40 insertions(+) diff --git a/api-reference/openapi.en.json b/api-reference/openapi.en.json index 2338882..dd07b37 100644 --- a/api-reference/openapi.en.json +++ b/api-reference/openapi.en.json @@ -30091,6 +30091,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -30201,6 +30202,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -30215,6 +30217,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -30308,6 +30311,7 @@ "file_count": 17, "total_bytes": 41010, "version": 138, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786458765182, @@ -30400,6 +30404,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -58604,6 +58609,10 @@ "type": "integer", "description": "Pack version, incremented on every file change." }, + "duty_version": { + "type": "integer", + "description": "Pack version at which DUTY.md was last authored or re-affirmed. When `version` is greater, DUTY.md no longer reflects every file in the pack." + }, "created_by": { "type": "integer", "description": "Person ID of the member who created the pack.", @@ -58632,6 +58641,7 @@ "file_count", "total_bytes", "version", + "duty_version", "created_by", "created_at_ms", "updated_at_ms", diff --git a/api-reference/openapi.zh.json b/api-reference/openapi.zh.json index 9594585..374a5ae 100644 --- a/api-reference/openapi.zh.json +++ b/api-reference/openapi.zh.json @@ -30083,6 +30083,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -30193,6 +30194,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -30207,6 +30209,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -30300,6 +30303,7 @@ "file_count": 17, "total_bytes": 41010, "version": 138, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786458765182, @@ -30392,6 +30396,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -58595,6 +58600,10 @@ "type": "integer", "description": "知识包版本号,文件每次变更时递增。" }, + "duty_version": { + "type": "integer", + "description": "最后一次撰写或确认 DUTY.md 时的知识库版本。当 `version` 大于该值时,说明 DUTY.md 已不能反映知识库的全部文件。" + }, "created_by": { "type": "integer", "description": "创建者成员 ID。", @@ -58623,6 +58632,7 @@ "file_count", "total_bytes", "version", + "duty_version", "created_by", "created_at_ms", "updated_at_ms", diff --git a/api-reference/safari.openapi.en.json b/api-reference/safari.openapi.en.json index 327043b..2f3fbec 100644 --- a/api-reference/safari.openapi.en.json +++ b/api-reference/safari.openapi.en.json @@ -3279,6 +3279,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -3389,6 +3390,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -3403,6 +3405,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -3496,6 +3499,7 @@ "file_count": 17, "total_bytes": 41010, "version": 138, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786458765182, @@ -3588,6 +3592,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -7021,6 +7026,10 @@ "type": "integer", "description": "Pack version, incremented on every file change." }, + "duty_version": { + "type": "integer", + "description": "Pack version at which DUTY.md was last authored or re-affirmed. When `version` is greater, DUTY.md no longer reflects every file in the pack." + }, "created_by": { "type": "integer", "description": "Person ID of the member who created the pack.", @@ -7049,6 +7058,7 @@ "file_count", "total_bytes", "version", + "duty_version", "created_by", "created_at_ms", "updated_at_ms", diff --git a/api-reference/safari.openapi.zh.json b/api-reference/safari.openapi.zh.json index 0c0e1f2..97bb57d 100644 --- a/api-reference/safari.openapi.zh.json +++ b/api-reference/safari.openapi.zh.json @@ -3279,6 +3279,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -3389,6 +3390,7 @@ "file_count": 17, "total_bytes": 41010, "version": 134, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786456567177, @@ -3403,6 +3405,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -3496,6 +3499,7 @@ "file_count": 17, "total_bytes": 41010, "version": 138, + "duty_version": 130, "created_by": 2476444212131, "created_at_ms": 1778768680053, "updated_at_ms": 1786458765182, @@ -3588,6 +3592,7 @@ "file_count": 4, "total_bytes": 11159, "version": 15, + "duty_version": 15, "created_by": 2476444212131, "created_at_ms": 1782201586089, "updated_at_ms": 1785462092702, @@ -7021,6 +7026,10 @@ "type": "integer", "description": "知识包版本号,文件每次变更时递增。" }, + "duty_version": { + "type": "integer", + "description": "最后一次撰写或确认 DUTY.md 时的知识库版本。当 `version` 大于该值时,说明 DUTY.md 已不能反映知识库的全部文件。" + }, "created_by": { "type": "integer", "description": "创建者成员 ID。", @@ -7049,6 +7058,7 @@ "file_count", "total_bytes", "version", + "duty_version", "created_by", "created_at_ms", "updated_at_ms", From 4b9f97610c80e91d4e8ea3924e843aaf955b13a7 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Fri, 21 Aug 2026 09:24:19 -0700 Subject: [PATCH 3/4] docs(on-call): drop rules cannot be reordered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The drop-rule note claimed rules can be dragged to change their execution priority. There is no ordering mechanism behind it: drop rules carry no order field, and the only reorder endpoints are for channels, escalation rules and incident comment types. Keep the accurate half — rules run sequentially in list order and the first match discards the event — and remove the drag claim. --- en/on-call/channel/create-edit.mdx | 2 +- zh/on-call/channel/create-edit.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/en/on-call/channel/create-edit.mdx b/en/on-call/channel/create-edit.mdx index 34658fb..b3052ed 100644 --- a/en/on-call/channel/create-edit.mdx +++ b/en/on-call/channel/create-edit.mdx @@ -138,7 +138,7 @@ Configure rules in **Configuration** → **Integrate Data** → **Drop Rules** t -Multiple drop rules are executed sequentially in list order. If any rule matches, the event is dropped. You can drag to adjust the execution priority of rules. +Multiple drop rules are executed sequentially in list order. If any rule matches, the event is dropped. diff --git a/zh/on-call/channel/create-edit.mdx b/zh/on-call/channel/create-edit.mdx index 2097afb..a143f95 100644 --- a/zh/on-call/channel/create-edit.mdx +++ b/zh/on-call/channel/create-edit.mdx @@ -139,7 +139,7 @@ keywords: ["协作空间", "创建管理", "业务隔离", "团队协作", "告 -多条排除规则按照列表顺序依次执行,只要任意一条规则命中,事件即被排除。你可以通过拖动调整规则的执行优先级。 +多条排除规则按照列表顺序依次执行,只要任意一条规则命中,事件即被排除。 From 4de71138fd0b7443bd573b085980c487bad89808 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Fri, 21 Aug 2026 09:29:26 -0700 Subject: [PATCH 4/4] docs(api): stop requiring priority on the channel rule items MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The silence, inhibit and unsubscribe rule item schemas dropped their `priority` property when the field left the API, but kept `priority` in their `required` list. The schemas then demanded a key the endpoints never return — including in their own response examples. Remove the three stale required entries. --- api-reference/on-call.openapi.en.json | 3 --- api-reference/on-call.openapi.zh.json | 3 --- api-reference/openapi.en.json | 3 --- api-reference/openapi.zh.json | 3 --- 4 files changed, 12 deletions(-) diff --git a/api-reference/on-call.openapi.en.json b/api-reference/on-call.openapi.en.json index 52294b3..d0d801f 100644 --- a/api-reference/on-call.openapi.en.json +++ b/api-reference/on-call.openapi.en.json @@ -23606,7 +23606,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "source_filters", @@ -27285,7 +27284,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "time_filters", @@ -28386,7 +28384,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "filters", diff --git a/api-reference/on-call.openapi.zh.json b/api-reference/on-call.openapi.zh.json index 038790e..32f36d3 100644 --- a/api-reference/on-call.openapi.zh.json +++ b/api-reference/on-call.openapi.zh.json @@ -23597,7 +23597,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "source_filters", @@ -27276,7 +27275,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "time_filters", @@ -28377,7 +28375,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "filters", diff --git a/api-reference/openapi.en.json b/api-reference/openapi.en.json index dd07b37..d397044 100644 --- a/api-reference/openapi.en.json +++ b/api-reference/openapi.en.json @@ -35839,7 +35839,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "time_filters", @@ -35937,7 +35936,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "source_filters", @@ -36022,7 +36020,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "filters", diff --git a/api-reference/openapi.zh.json b/api-reference/openapi.zh.json index 374a5ae..ab97e67 100644 --- a/api-reference/openapi.zh.json +++ b/api-reference/openapi.zh.json @@ -35830,7 +35830,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "time_filters", @@ -35928,7 +35927,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "source_filters", @@ -36013,7 +36011,6 @@ "required": [ "account_id", "channel_id", - "priority", "rule_name", "description", "filters",