已关闭
bug: issue list date filters return 400 on GitCode API #104
aflyingto创建于 4月2日关闭于 4月3日
aflyingto
4月3日 评论:
4月3日 评论:
Team agent 交付策略
- 当前已纳入里程碑:
v0.5.0 - 执行模式:
Coordinator -> Verifier -> Implementer -> Reviewer - 当前批次目标: 与
v0.5.0的一致性收口一起推进
建议推进顺序:
- 先完成远端事实核验与复现记录,进入
status/verified - 在非
main分支修复实现并补测试 - 完成
go test ./...、go build -o ./gc ./cmd/gc,并补至少一个真实命令验证 - 补作者自检、风险分级和独立评审后再进入
ready-for-review
说明:
- 本 issue 归入
v0.5.0批次交付 - 若修复依赖上游 API 真实约束,需先补结构化验证记录,再决定是修实现还是收口文档


aflyingto
4月3日 评论:
4月3日 评论:
验证记录
- 当前版本或分支:
bugfix/issue-110/ PR #92 - 验证时间: 2026-04-03
- 复现命令:
./gc issue list -R gitcode-cli/cli --state closed --created-after 2026-03-31 --sort created --direction asc -L 5 --json - 实际结果: 问题已复现并已在当前变更中处理
- 预期结果: 行为与 issue 描述一致收口,并具备最小测试/回归证据
- 时间线检查: 当前改动尚未合入
main,以 PR #92 进入评审为准 - 结论: 继续修复,进入 ready-for-review
开发进度
- 当前状态: ready-for-review
- 根因: issue list 日期过滤示例使用日期字符串,但 API 实际要求 ISO 8601;当前实现已在命令层做规范化
- 主要修改: 规范化
--since/--created-after/--created-before/--updated-after/--updated-before输入,并补测试与文档 - 影响范围: 命令行为、测试与文档/回归脚本
- 单元测试:
go test ./... - 构建:
go build -o ./gc ./cmd/gc - 实际命令验证:
./gc issue list -R gitcode-cli/cli --state closed --created-after 2026-03-31 --sort created --direction asc -L 5 --json;并执行./scripts/regression-core.sh - 安全影响: 已补最小安全审查;涉及认证、确认语义或凭证路径的项按
risk/medium处理 - 文档同步: 已同步
docs/COMMANDS.md/docs/REGRESSION.md(按影响范围) - 风险或未覆盖项: 本批次归类
risk/medium;高风险项仍需人工最终确认后才能合并 - 关联 PR: #92


aflyingto
4月3日 评论:
4月3日 评论:
开发进度
- 当前状态: ready-for-review
- 根因: 日期过滤示例与 GitCode API 接受的时间格式之间存在契约错位,日期字符串未在命令层规范化。
- 主要修改: issue list 在发送请求前将 YYYY-MM-DD / ISO 输入规范化为 RFC3339,并补对应测试与文档。
- 影响范围: issue list 命令、命令文档。
- 单元测试: go test ./...
- 构建: go build -o ./gc ./cmd/gc
- 实际命令验证: ./gc issue list -R gitcode-cli/cli --state closed --created-after 2026-03-31 --sort created --direction asc -L 5
- 安全影响: 本次改动不涉及凭证、权限或危险写路径。
- 文档同步: 已更新 docs/COMMANDS.md。
- 风险或未覆盖项: 仍需独立评审和人工最终确认整批 high-risk PR。
- 关联 PR: !92


aflyingto
4月3日 评论:
4月3日 评论:
开发进度
- 当前状态: ready-for-review
- 根因: CLI 和文档使用
YYYY-MM-DD示例,但 GitCode API 实际要求 ISO 8601 时间格式。 - 主要修改: issue list 在发送请求前统一规范化
since/created-*/updated-*过滤参数,兼容日期字符串并转换为 RFC3339。 - 影响范围:
pkg/cmd/issue/list/* - 单元测试:
go test ./... - 构建:
go build -o ./gc ./cmd/gc - 实际命令验证:
./gc issue list -R gitcode-cli/cli --state closed --created-after 2026-03-31 --sort created --direction asc -L 5 --json - 安全影响: 不涉及凭证或危险写路径。
- 文档同步: 已同步更新回归/命令文档。
- 风险或未覆盖项: 仍需独立评审确认日期规范化未改变已有 ISO 输入行为。
- 关联 PR: #92


背景
当前
gc issue list支持以下日期过滤参数:--created-after--created-before--updated-after--updated-before--since但在远端
gitcode-cli/cli仓库上实际调用时,日期过滤会直接返回 GitCode API400 Bad Request。复现
在仓库根目录执行:
gc issue list -R gitcode-cli/cli --state closed --created-after "2026-03-31" --sort created --direction asc -L 50 gc issue list -R gitcode-cli/cli --state closed --updated-after "2026-03-31" --sort updated --direction asc -L 50当前结果:
预期
影响
建议
issue list补一组基于真实 API 契约的测试--help/docs/COMMANDS.md中的格式说明