跳转到主要内容
首次接入 Flashduty 状态页时,你可以从零创建一个新状态页,也可以从 Atlassian Statuspage 迁移到 Flashduty 状态页。本文分别说明这两种接入路径的必要步骤。 状态页创建或迁移完成后,组件、分组、事件模板、订阅和事件发布都属于后续配置。你可以在本文末尾跳转到对应文档。 如果你还不了解状态页的基本概念,先阅读什么是状态页

选择接入方式

当前情况推荐方式本文对应章节
还没有正式状态页从零创建 Flashduty 状态页从零创建状态页
已经使用 Atlassian Statuspage迁移结构、历史事件和订阅者从 Atlassian Statuspage 迁移
如果你正在评估是否替换 Atlassian Statuspage,可以先阅读状态页对比

从零创建状态页

从零创建只需要先建立一个状态页实体,并确认页面名称、访问标识和页面类型。创建后的品牌、域名、组件、订阅和事件发布配置,请在后续文档中完成。
1

确认状态页类型

选择创建公开状态页内部状态页。公开状态页面向客户、合作伙伴和外部访客;内部状态页面向组织成员,需要登录 Flashduty 后访问。
2

进入状态页管理

登录 Flashduty 控制台,在左侧导航进入 状态页,点击 创建状态页
3

填写创建信息

按页面提示填写以下字段:
字段说明
名称状态页的显示名称,通常使用公司名、产品名或服务名
URL 标识用于生成状态页访问地址的唯一标识,仅允许小写字母、数字和连字符
类型选择 公开内部
4

完成创建

点击 确认 完成创建。页面创建后,再按实际需要配置基础信息、组件、订阅、模板和事件发布流程。

从 Atlassian Statuspage 迁移

如果你已经在使用 Atlassian Statuspage,可以使用 Flashduty CLI 将组件、分组、历史事件和邮件订阅者迁移到 Flashduty 状态页。迁移分为两个独立步骤:
  1. 迁移结构与历史:导入组件、分组、历史事件、维护记录和通知模板。
  2. 迁移邮件订阅者:导入订阅者列表及其订阅偏好。
两步分离的原因是:迁移结构时不会向订阅者发送通知。你可以先检查导入内容是否正确,再决定是否导入订阅者。导入的订阅者会直接变为活跃状态,无需重新邮件验证。
如果你使用 Codex、Claude Code、Cursor 等 AI 编程代理,也可以先按 flashduty-cli README 中的 Agent Skills 指引安装技能。安装后,flashduty-statuspage skill 会向代理提供 Atlassian Statuspage 迁移命令和注意事项,你可以让代理在本地终端协助执行迁移。

准备工作

安装 Flashduty CLI

curl -sSL https://static.flashcat.cloud/flashduty-cli/install.sh | sh
更多安装方式请参考 CLI 文档

登录 Flashduty

flashduty login
按提示输入 APP Key。获取方式:登录 Flashduty 控制台,进入 个人中心 > 个人信息,复制 APP Key。

获取 Atlassian Statuspage API Key

  1. 登录 Atlassian Statuspage 管理面板
  2. 进入 User icon > API info,复制 API Key
  3. 设置环境变量:
export ATLASSIAN_STATUSPAGE_API_KEY="your_api_key_here"

获取 Atlassian Statuspage Page ID

在 Atlassian Statuspage 管理面板中,Page ID 显示在页面 URL 或页面设置中。格式类似 0db0rq26tg1l

迁移步骤

建议先迁移结构和历史,再迁移订阅者,最后切换域名。这样可以先检查导入结果,再让订阅者开始接收 Flashduty 状态页通知。
1

迁移结构与历史

执行以下命令导入 Atlassian Statuspage 的组件、分组、历史事件、维护记录和通知模板。此步骤会创建或复用 Flashduty 目标状态页,但不会通知订阅者。
flashduty statuspage migrate structure \
  --from atlassian \
  --source-page-id <your_atlassian_page_id> \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
参数必填说明
--from迁移来源,目前仅支持 atlassian
--source-page-idAtlassian Statuspage 的 Page ID
--api-keyAtlassian Statuspage 的 API Key
--url-name新创建的 Flashduty 公开状态页的 URL 名称
--url-name 仅在本次迁移创建新的目标状态页时生效。如果同一个 --source-page-id 已经在历史迁移中映射到一个已存在的目标状态页:
  • 省略 --url-name,或传入与已存在目标状态页完全一致的值,迁移会复用该目标页继续执行。
  • 传入与已存在目标页不同的值,迁移会在预检阶段失败。如需更改 URL 名称,请在 Flashduty 控制台直接编辑目标状态页。
--url-name 的格式与唯一性要求:
  • MakeSlug 规范化:转换为小写、用连字符连接、长度不超过 255 个字符;纯符号或规范化后为空的输入会被拒绝,错误信息为 url_name must not be empty after normalization
  • 在账号下的公开状态页范围内全局唯一,重复时会以 url_name must be unique 拒绝。
2

查询迁移进度

迁移任务为异步执行,命令会立即返回一个 Job ID。使用以下命令查询进度:
flashduty statuspage migrate status --job-id <job_id>
迁移会依次导入 componentssectionshistorytemplates。任务完成后,输出中会包含 Flashduty 状态页 ID(target-page-id),后续迁移订阅者时需要使用。如果需要取消正在运行的迁移任务,执行:
flashduty statuspage migrate cancel --job-id <job_id>
3

验证导入内容

在进行下一步之前,建议检查导入的内容:
# 查看新状态页信息
flashduty statuspage list --id <target_page_id>

# 查看导入的事件
flashduty statuspage changes --page-id <target_page_id> --type incident
你也可以登录 Flashduty 控制台,在状态页管理界面中检查组件、分组和历史事件是否完整。
4

迁移邮件订阅者

确认结构和历史导入正确后,执行订阅者迁移:
flashduty statuspage migrate email-subscribers \
  --from atlassian \
  --source-page-id <your_atlassian_page_id> \
  --target-page-id <flashduty_page_id> \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
参数必填说明
--from迁移来源,atlassian
--source-page-idAtlassian Statuspage 的 Page ID
--target-page-id结构与历史迁移完成后输出的 Flashduty 状态页 ID
--api-keyAtlassian Statuspage 的 API Key
导入的订阅者会直接变为活跃状态,无需邮件验证。已在 Atlassian 端被标记为隔离(quarantined)的邮箱地址会被自动跳过。订阅者迁移可以安全地多次执行,已存在的订阅者不会被重复导入。
5

切换域名和 RSS/Atom

如果原 Atlassian Statuspage 使用自定义域名,将 CNAME 记录切换到 Flashduty 提供的状态页地址。Flashduty 兼容 history.rsshistory.atom 链接格式,原 RSS/Atom 订阅可继续生效。自定义域名配置请参考配置状态页基础信息。RSS/Atom 订阅规则请参考订阅管理

完整迁移示例

# 设置 Atlassian API Key
export ATLASSIAN_STATUSPAGE_API_KEY="your_api_key_here"

# 1. 迁移结构与历史
flashduty statuspage migrate structure \
  --from atlassian \
  --source-page-id 0db0rq26tg1l \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
# 输出: Job ID: str_abc

# 2. 查询进度,等待完成
flashduty statuspage migrate status --job-id str_abc
# 重复执行直到 Status: completed
# 记录输出中的 target-page-id

# 3. 验证导入结果
flashduty statuspage list --id <target_page_id>

# 4. 迁移邮件订阅者
flashduty statuspage migrate email-subscribers \
  --from atlassian \
  --source-page-id 0db0rq26tg1l \
  --target-page-id <target_page_id> \
  --api-key "$ATLASSIAN_STATUSPAGE_API_KEY"
# 输出: Job ID: sub_xyz

# 5. 查询进度,等待完成
flashduty statuspage migrate status --job-id sub_xyz

继续配置

完成创建或迁移后,按目标进入对应文档。这里不再重复展开每个功能的配置步骤。
目标文档
配置品牌、域名和显示设置配置状态页基础信息
设计服务组件、分组结构和可见性组件与分组管理
发布故障或维护事件,并更新时间线发布与管理事件
准备故障、维护和恢复通知话术事件模板
管理邮件、RSS/Atom、IM 订阅和订阅者导入导出订阅管理
对比 Flashduty 状态页与 Atlassian Statuspage状态页对比