fix release rollback guards and sync api docs
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
- `variant_changes` 移除 `enabled` 欄位(每筆 change 預設啟用)。
|
||||
- 建立 Experiment API 成功時,需同步建立一個原始版本 Variant(系統管理)。
|
||||
- Runtime 實驗匹配需基於 URL 規則與裝置限制。
|
||||
- Release rollback 僅允許針對 `published` 版本,且操作後需維持「每個 experiment 僅一個 published」。
|
||||
|
||||
## 分區
|
||||
|
||||
|
||||
@@ -201,8 +201,9 @@
|
||||
|
||||
- Path 必填:`release_id`
|
||||
- 業務行為:
|
||||
- 目標 release 先降為 `draft`
|
||||
- 嘗試把同 experiment、版本號較小、最新的一筆 `draft` 升為 `published`
|
||||
- 只允許 rollback 目前 `published` 的 release(否則 `409`)
|
||||
- 會找同 experiment 中「版本號較小且非 archived」的最新 release 升為 `published`
|
||||
- rollback 完成後,會強制同 experiment 僅保留一個 `published`
|
||||
|
||||
### `POST /api/admin/releases/{release_id}/archive`
|
||||
|
||||
@@ -379,6 +380,11 @@
|
||||
|
||||
1. 同一 experiment 下,所有 variant 的 `traffic_weight` 加總不等於 `100`。
|
||||
|
||||
### `rollback` 回 `409` 常見原因
|
||||
|
||||
1. 你指定的 release 目前不是 `published`。
|
||||
2. 該 release 沒有更早的非 archived 版本可回退。
|
||||
|
||||
### `editor PUT changes` 看起來「少資料」的常見原因
|
||||
|
||||
1. 你沒有把舊 change id 一起送回去,會被 full-replace 刪掉。
|
||||
|
||||
Reference in New Issue
Block a user