Skip to main content

Releases · 用户入口与交互

Asset
ADP-DLV-DOC-DOC-0008
Feature
releases
领域
delivery-integrations
文档状态
draft
文档 Owner
DOC
事实源
canonical-docs
更新
2026/10/14

本文承载 Releases PRD 的真实入口、路由、页面结构与可见状态。 实现级事实按 PLN · 75c4f1c80ac12f1322fe7bac2132d49a875f3291 固定修订核验,界面文案以 Web 客户端当前 中文词条为准。

入口与路由​

入口位置有效条件
Project 导航项Project 侧边导航中的发布入口仅当当前 Project 已启用 Releases 时渲染
发布列表页/{workspaceSlug}/projects/{projectId}/releases请求者是当前 Project 的 active 成员
发布详情页/{workspaceSlug}/projects/{projectId}/releases/{releaseId}条目存在且请求者有权访问该 Project
功能开关Project Settings 功能列表中的 Releases 项只有 Project Admin 可切换
Milestone 侧读取Milestone 详情返回的关联 Release 列表Milestone 与 Release 同 Project

导航渲染条件来自 apps/web/core/components/navigation/project-navigation-config.ts(release_view === true); 路由文件为 apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/releases/page.tsx 与 同目录 releases/[releaseId]/page.tsx。

默认 Project 不启用 Releases:release_view 的模型默认值为 false (apps/api/plane/db/models/project.py),而 game 项目 profile 模板默认启用该开关 (apps/api/plane/app/views/project/profile_template.py)。启用与否都必须由服务端校验,而不是仅靠隐藏入口。

页面与可见结果​

发布列表​

  • 按状态分组展示条目:未发布、已发布、已取消;同组内按目标日期与稳定 ID 排序 (apps/web/core/components/project-releases/overview.tsx、helpers.ts)。
  • 每个条目展示名称、状态、目标日期(未设置时显示“未设目标日期”)、标签与负责人等可读信息。
  • 无任何条目时展示“尚无发布”,并说明“规划项目发布,不改变里程碑交付状态”;分组为空时展示“此状态下没有发布”。
  • 具备 Project Admin 权限时展示“创建发布”入口;Project Member 只读,不展示管理控件。
  • Project 未启用 Releases 时,页面以该功能的说明文案替代列表,不展示任何条目或管理动作。

发布详情​

详情页通过标签页组织信息(词条:概览、范围、变更日志、关联的里程碑):

区域可见结果主要动作
概览名称、状态、标签、目标日期、实际发布日期、版本等字段“编辑发布”:打开表单修改状态、日期、标签、负责人与变更日志
范围当前发布范围内的贡献工作项标识与状态“添加工作项”:按逗号、空格或换行批量粘贴工作项 ID;“移除工作项”从范围移出
变更日志面向发布的变更说明在编辑表单中维护
关联的里程碑已关联 Milestone 的名称与目标日期“关联里程碑”与“取消关联”;说明文字明确“里程碑在明确关联到此发布前始终保持独立”

创建与编辑表单​

  • 创建表单要求发布名称,名称空白时显示“发布名称不能为空。”。
  • 标签输入提示使用项目标签(例如 v1.0.0、2026.08),不解析 SemVer。
  • 负责人可选,且必须属于当前 Project。
  • 编辑提交时使用当前 version;服务端冲突时界面必须展示可判定结果,而不是静默丢弃用户输入。

权限与可见性​

用户可见可操作
Project Admin列表、详情、功能开关、全部字段创建、编辑、删除、范围与 Milestone 关联、启用/停用
Project Member列表、详情与只读字段无管理动作
非成员 / 其它 Workspace不展示该 Project 的发布数据无

前端以 allowPermissions([ADMIN], PROJECT, …) 决定是否展示管理控件;服务端仍必须独立校验,隐藏控件不构成授权。

交互状态与反馈​

  • 加载态:列表与详情加载期间不展示过期条目内容;加载失败必须给出可重试的失败结果。
  • 空态:无条目、分组为空、范围为空、变更日志为空、无关联 Milestone 各有独立文案。
  • 未启用态:Project 未启用时展示功能说明,不展示创建与编辑控件。
  • 权限态:无管理权限时只展示只读内容;服务端拒绝写入时界面展示真实错误。
  • 冲突态:version 冲突或幂等冲突必须展示为需要刷新后重试的结果,不得静默覆盖或重复提交。
  • 删除态:删除成功后条目与关联从列表和详情消失;重复提交不得产生第二条副作用。

无障碍与双语​

  • 列表区、编辑按钮、详情标签页、移除工作项按钮等交互元素提供稳定 accessible name。
  • 关联与解除关联提供带对象名称的可读标签,不以颜色单独表达状态。
  • 关键动作可通过键盘完成;对话框关闭后焦点回到触发位置。
  • 中文与英文词条覆盖发布标题、状态、日期、标签、范围、变更日志、关联里程碑、空态与错误提示。

未核验与 unknown​

  1. 列表默认分页大小、滚动或无限加载策略在浏览器矩阵下的实际表现。
  2. 状态分组的可视化样式细节、排序控件与批量操作是否属于 v1 范围。
  3. 移动端与窄屏布局、键盘全流程和屏幕阅读器实测结论。
  4. 是否存在未在 project-releases 组件目录内声明的隐藏入口(例如 Work Item 详情侧的发布归属控件);当前核验 到的入口只有 Project 导航、Project Settings 功能开关与 Milestone 关联读模型。