Skip to content

Commit 10e25df

Browse files
ysyneuclaude
andauthored
docs: cover RSS/Atom status page feeds and incident list enhancements (#48)
Document three user-facing features shipped in the last two weeks: - RSS/Atom feeds for public status pages (subscriptions.mdx): add a dedicated section covering the feed URLs, content rules, cache semantics, and Atlassian Statuspage migration path. - Incident list team filter and new alert_event_cnt counter with the active-aggregation merge indicator (search-view-incident.mdx). - Matching changelog entry dated 2026-04-07 in both locales. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 72010cc commit 10e25df

6 files changed

Lines changed: 128 additions & 2 deletions

File tree

en/changelog/changelog.mdx

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,29 @@ description: "This page documents important updates and feature releases for Fla
44
keywords: ["Changelog", "Product Release", "Feature Updates", "Flashduty", "Version History"]
55
---
66

7+
<Update label="2026-04-07" description="📡 Status Page RSS/Atom Subscriptions and Incident List Enhancements">
8+
9+
### RSS/Atom Feeds for Public Status Pages
10+
11+
Public status pages now expose event feeds in both RSS 2.0 and Atom 1.0 formats. Visitors can subscribe through any RSS reader or automation tool — no email confirmation required:
12+
13+
- Every public page serves four URLs: `feed.rss`, `feed.atom`, `history.rss`, and `history.atom`. The `history.*` pair is an alias for Atlassian Statuspage compatibility
14+
- Feeds include incidents and maintenance events published in the last 90 days, up to 50 items, ordered by start time descending
15+
- Hidden sections and components are automatically filtered out and do not appear in the feed
16+
- Responses support `ETag` / `If-None-Match` and return `304 Not Modified` on cache hits
17+
18+
See [Subscription management](/en/on-call/statuspage/subscriptions) for details.
19+
20+
### Team Filter on the Incident List
21+
22+
The global **Incident Management** incident list adds a **Teams** filter that narrows incidents by the team that owns each channel. The filter is hidden automatically when you drill into a single channel.
23+
24+
### New Alert Events Counter on Incident Rows
25+
26+
Each incident row now surfaces an **alert events** counter alongside the existing **associated alerts** count. When a new event has been merged in the past 5 minutes, the merge icon turns orange, making it easy to spot incidents that are still actively aggregating. Hovering reveals the associated alert count, associated event count, and the time of the most recent merge.
27+
28+
</Update>
29+
730
<Update label="2026-03-25" description="🤖 AI Post-Mortem, AI Assistant, and External Incident Submission">
831

932
### AI Post-Mortem Report

en/on-call/incident/search-view-incident.mdx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Flashduty On-call provides two entry points to view the incident list. One is wi
1818
| 3 | Processing Progress | Filter incidents by progress, defaults to **All** |
1919
| 4 | Time Filter | Supports relative time and custom range filtering |
2020
| 5 | Search | Supports searching by incident ID; if assignee is set to "Assigned to Me", also supports fuzzy matching on "Incident Title" |
21-
| 6 | More Filters | Supports rich dimension filtering including severity, labels, or custom fields |
21+
| 6 | More Filters | Supports rich dimension filtering including severity, channels, teams, labels, or custom fields. The **Teams** filter is only visible under the global Incident Management entry and narrows incidents by the team that owns each channel |
2222
| 7 | View Settings | Supports rich rendering options including **custom display attributes** and even aggregate views |
2323
| 8 | Pagination | Pagination and items per page adjustment |
2424

@@ -59,6 +59,15 @@ Flashduty On-call provides filtering capabilities across various dimensions with
5959
Flexibility often means lower performance, and Flashduty On-call is no exception, despite our many performance optimizations. We always recommend narrowing your query time range and using conditions like **Assigned to Me** and **Processing Progress** to reduce query scope.
6060
</Tip>
6161

62+
### Row content
63+
64+
Beyond the title and progress, each incident row surfaces two key counters:
65+
66+
- **Associated alerts**: total number of [alerts](/en/on-call/channel/noise-reduction) grouped into this incident
67+
- **Alert events**: cumulative count of events merged into the incident. When a new event has been merged in the past **5 minutes**, the merge icon turns orange to signal that the incident is still actively aggregating
68+
69+
Hovering over the counters opens a tooltip with the associated alert count, associated event count, and the relative time since the last merge.
70+
6271
### Custom Rendering
6372

6473
Click the **Settings** button in the upper right corner of the incident list to customize display content and interaction behavior:

en/on-call/statuspage/subscriptions.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Different status page types support different subscription methods:
1414
| Status page type | Subscription method | Description |
1515
| --- | --- | --- |
1616
| **Public** | Email | Visitors subscribe with an email address; email confirmation is required |
17+
| **Public** | RSS/Atom | Subscribe to event updates via any RSS reader or automation tool; no confirmation required |
1718
| **Internal** | IM integration | Internal users receive push notifications through linked IM platforms |
1819

1920
---
@@ -44,6 +45,36 @@ If the visitor changes their subscription scope before confirming, the system up
4445

4546
Internal organization users can receive event push notifications through their linked IM integrations (Feishu/Lark, Dingtalk, WeCom, Slack) after accessing the internal status page. IM subscriptions do not require email confirmation.
4647

48+
### RSS/Atom subscription (public status pages)
49+
50+
Every public status page automatically exposes an event feed in both RSS and Atom formats, so visitors can subscribe to updates through any RSS reader (Feedly, Inoreader, etc.) or automation tool. Feeds are anonymous — no account or email confirmation is required.
51+
52+
Each public status page serves the following four URLs. They return identical content; the `history.*` pair exists as an alias so that Atlassian Statuspage subscribers can migrate without changing their feed URLs:
53+
54+
| URL pattern | Format |
55+
| --- | --- |
56+
| `{page-url}/feed.rss` | RSS 2.0 |
57+
| `{page-url}/feed.atom` | Atom 1.0 |
58+
| `{page-url}/history.rss` | RSS 2.0 (alias) |
59+
| `{page-url}/history.atom` | Atom 1.0 (alias) |
60+
61+
`{page-url}` is the public URL of the status page — either the custom domain (for example `https://status.example.com`) or the default Flashduty-assigned URL.
62+
63+
Feed contents follow these rules:
64+
65+
- Includes events published within the last **90 days** (both incidents and maintenance), up to **50 items**, ordered by start time descending
66+
- Only visible component impacts appear in the feed: components or sections marked as hidden are filtered out
67+
- Each item's `<updated>` timestamp reflects the most recent timeline update, so readers can detect new activity on refresh
68+
- Responses support `ETag` / `If-None-Match` and return `304 Not Modified` when nothing has changed
69+
70+
<Note>
71+
Feeds are available for **public** status pages only. Requesting a feed URL for an internal or non-existent page returns `404 Not Found`. For internal pages, use IM integrations instead.
72+
</Note>
73+
74+
<Tip>
75+
If you are migrating from Atlassian Statuspage, you can swap the existing `history.rss` / `history.atom` subscription URLs for your Flashduty status page URL — no change is needed on the subscriber side.
76+
</Tip>
77+
4778
---
4879

4980
## Subscription scope

zh/changelog/changelog.mdx

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,29 @@ description: "本页面记录 Flashduty 产品的重要更新和功能发布"
44
keywords: ["更新日志", "产品发布", "功能更新", "Flashduty", "版本记录"]
55
---
66

7+
<Update label="2026-04-07" description="📡 状态页 RSS/Atom 订阅与故障列表增强">
8+
9+
### 公开状态页 RSS/Atom Feed
10+
11+
公开状态页现在自动对外提供 RSS 2.0 和 Atom 1.0 格式的事件 Feed,访客可以通过任意 RSS 阅读器或自动化工具订阅事件更新,无需邮件确认:
12+
13+
- 每个公开状态页提供 `feed.rss``feed.atom``history.rss``history.atom` 四个 URL,后两者用于兼容 Atlassian Statuspage 的订阅地址
14+
- Feed 包含最近 90 天内发布的故障和维护事件,最多 50 条,按开始时间倒序
15+
- 自动过滤被设置为隐藏的分组和组件,不会在 Feed 中暴露
16+
- 响应支持 `ETag` / `If-None-Match`,命中缓存时返回 `304 Not Modified`
17+
18+
详见[订阅管理](/zh/on-call/statuspage/subscriptions)
19+
20+
### 故障列表支持团队筛选
21+
22+
全局 **故障管理** 入口下的故障列表新增 **团队** 维度的筛选,可按协作空间归属的团队快速收敛故障范围。该筛选在进入单个协作空间查看故障时会自动隐藏。
23+
24+
### 故障列表新增告警事件计数
25+
26+
故障列表行内的计数区新增 **告警事件** 指标,与 **关联告警** 并列展示。当最近 5 分钟有新事件合入时,合并图标会以橙色高亮,用于直观判断故障是否仍在持续聚合。悬浮可查看关联告警数、关联事件数和最后一次事件合入时间。
27+
28+
</Update>
29+
730
<Update label="2026-03-25" description="🤖 AI 复盘、AI 助手与外部故障提交">
831

932
### AI 复盘报告

zh/on-call/incident/search-view-incident.mdx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Flashduty On-call 提供了两个入口查看故障列表。一个是协作空
1919
| 3 | 处理进度 | 按照处理进度筛选故障,默认为 **全部** |
2020
| 4 | 时间筛选 | 支持相对时间和自定义区间筛选 |
2121
| 5 | 键入检索 | 支持搜索故障 ID,如果分派人员切换为"分派给我",则同时支持模糊匹配"故障标题" |
22-
| 6 | 更多筛选 | 支持丰富的维度筛选,包括严重程度、标签或自定义字段等 |
22+
| 6 | 更多筛选 | 支持丰富的维度筛选,包括严重程度、协作空间、团队、标签或自定义字段等。其中**团队**筛选仅在全局故障管理入口下可见,按协作空间归属的团队过滤故障 |
2323
| 7 | 视图设置 | 支持丰富的渲染形式,包括引入 **自定义的展示属性**,甚至是聚合视图 |
2424
| 8 | 分页设置 | 分页和单页条数调整 |
2525

@@ -60,6 +60,15 @@ Flashduty On-call 提供各种维度的筛选能力,并给您足够多的灵
6060
灵活常常意味着低性能,在 Flashduty On-call 也不例外,尽管我们已经做了很多性能优化的工作。我们永远建议,缩小您的时间查询区间,尽量通过 **分派给我****处理进度** 等条件缩小查询范围。
6161
</Tip>
6262

63+
### 列表内容说明
64+
65+
每条故障除了标题和处理进度,还会展示两个关键计数:
66+
67+
- **关联告警**:当前故障聚合到的[告警](/zh/on-call/channel/noise-reduction)总数
68+
- **告警事件**:告警经过聚合后累计的事件数量。当最近 **5 分钟** 内有新事件合入时,**合并**图标会以橙色高亮显示,用来提示故障可能仍在持续聚合中
69+
70+
悬浮计数区域可展开详细提示,显示关联告警数、关联事件数和最后一次事件合入的相对时间。
71+
6372
### 自定义渲染
6473

6574
点击故障列表右上角的 **设置** 按钮,可以定制化展示内容和交互行为:

zh/on-call/statuspage/subscriptions.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Flashduty 状态页允许用户主动订阅服务状态更新。当状态页中
1414
| 状态页类型 | 订阅方式 | 说明 |
1515
| --- | --- | --- |
1616
| **公开状态页** | 邮件 | 访客通过邮件地址订阅,需完成邮件确认 |
17+
| **公开状态页** | RSS/Atom | 通过 RSS 阅读器或自动化工具订阅事件更新,无需邮件确认 |
1718
| **内部状态页** | IM 集成 | 组织内部用户通过已绑定的 IM 平台接收推送 |
1819

1920
---
@@ -44,6 +45,36 @@ Flashduty 状态页允许用户主动订阅服务状态更新。当状态页中
4445

4546
组织内部用户访问内部状态页后,可通过已绑定的 IM 集成(飞书、钉钉、企业微信、Slack)接收事件推送通知。IM 订阅无需邮件确认。
4647

48+
### RSS/Atom 订阅(公开状态页)
49+
50+
公开状态页会自动提供 RSS 和 Atom 两种格式的事件 Feed,方便访客通过 RSS 阅读器(如 Feedly、Inoreader)或自动化工具订阅状态更新。Feed 为匿名访问,无需注册或邮件确认。
51+
52+
每个公开状态页提供以下四个 URL,内容完全一致,`feed.*``history.*` 互为别名(后者用于兼容 Atlassian Statuspage 的链接习惯):
53+
54+
| URL 格式 | 格式 |
55+
| --- | --- |
56+
| `{状态页地址}/feed.rss` | RSS 2.0 |
57+
| `{状态页地址}/feed.atom` | Atom 1.0 |
58+
| `{状态页地址}/history.rss` | RSS 2.0(别名) |
59+
| `{状态页地址}/history.atom` | Atom 1.0(别名) |
60+
61+
其中 `{状态页地址}` 指公开状态页的访问地址,既可以是自定义域名(如 `https://status.example.com`),也可以是 Flashduty 分配的默认 URL。
62+
63+
Feed 的内容规则如下:
64+
65+
- 包含最近 **90 天** 内发布的事件(包括故障事件和维护事件),最多返回 **50 条**,按事件开始时间倒序
66+
- 仅包含当前可见的组件影响记录:被设置为隐藏的分组或组件不会出现在 Feed 中
67+
- 每条事件的 `<updated>` 使用最新一次时间线更新的时间;订阅者重新抓取时可据此发现新动态
68+
- 响应支持 `ETag` / `If-None-Match`,未发生变化时返回 `304 Not Modified`
69+
70+
<Note>
71+
Feed 仅对**公开状态页**开放。对内部状态页或不存在的状态页请求 Feed URL 会返回 `404 Not Found`。内部状态页请通过 IM 集成接收更新。
72+
</Note>
73+
74+
<Tip>
75+
如果你正在从 Atlassian Statuspage 迁移,可以直接把原有的 `history.rss` / `history.atom` 订阅地址替换为 Flashduty 状态页地址,无需修改订阅者配置。
76+
</Tip>
77+
4778
---
4879

4980
## 订阅范围

0 commit comments

Comments
 (0)