【Bug反馈】revertgrayrelease 取消分阶段发布后,get_history_version 历史版本列表被清空(文档未说明)
────────────────────────────────────────
问题描述
在小程序分阶段发布(灰度)期间,调用 revertgrayrelease 取消灰度后,再调用以下接口查询可回退的历史版本列表,返回结果为空:
GET https://api.weixin.qq.com/wxa/revertcoderelease?action=get_history_version&access_token=ACCESS_TOKEN
返回:
{
"errcode": 0,
"errmsg": "ok",
"version_list": []
}
────────────────────────────────────────
复现步骤
1. 小程序正常发布线上版本(存在历史版本)
2. 调用 grayrelease 开始分阶段发布
3. 调用 revertgrayrelease 取消分阶段发布
4. 调用 revertcoderelease?action=get_history_version 查询历史版本
5. 历史版本列表为空
────────────────────────────────────────
问题分析
revertcoderelease 接口的文档注意事项中有如下说明:
当前版本回退后,不能再调用版本回退接口,也不会再查到版本信息。
但 revertgrayrelease 的文档中完全没有提到调用后会影响 get_history_version 的返回结果。
revertgrayrelease 在语义上是"取消灰度推送、让灰度用户回到灰度前版本",并非正式的线上版本回退操作,不应该清空历史版本记录。但实际表现来看,它在底层触发了与 revertcoderelease
相同的历史清空逻辑。
────────────────────────────────────────
期望行为
取消分阶段发布(revertgrayrelease)属于中止灰度操作,不应影响 get_history_version 的历史版本列表。
────────────────────────────────────────
现有行为对比
┌───────────────────┬──────────────────┬──────────────────────┬──────────────┐
│ 接口 │ 操作语义 │ 调用后历史版本被清空 │ 文档是否说明 │
├───────────────────┼──────────────────┼──────────────────────┼──────────────┤
│ revertcoderelease │ 线上版本正式回退 │ 是 │ 有说明 │
│ revertgrayrelease │ 取消灰度发布 │ 是 │ 无说明 │
└───────────────────┴──────────────────┴──────────────────────┴──────────────┘

你好,请将复现步骤的每个步骤操作时间点及之前核查到的历史版本提供下