Llangjitianya008fix(discussions): guard empty edit body in project edit
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(discussions): add org discussion comment create/edit/reply Implements org-level discussion comment write commands: - gc discussions comments create <number> --org <org> --body [--json] - gc discussions comments edit <number> <comment-id> --org <org> --body [--json] - gc discussions comments reply <number> <comment-id> --org <org> --body [--json] API alignment per the official OpenAPI: - UpdateOrgDiscussionComment uses PUT, not PATCH Docs: docs/COMMANDS.md gains sections for all three commands. Tests: flag parsing, run validation, HTTP-mocked request assertions (method/path/body), --json output, and API error paths. Refs #552 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | 1 个月前 | |
feat(discussions): add org discussion create/edit commands Implements org-level discussion write commands: - gc discussions create --org <org> --title --category --body/--body-file [--json] - gc discussions edit <number> --org <org> [--title/--body/--category] [--json] API alignment per the official OpenAPI: - CategoryName field on org create/update discussion options (category is required when creating a discussion) - UpdateOrgDiscussion uses PUT, not PATCH Docs: docs/COMMANDS.md gains sections for both commands. Tests: flag parsing, run validation, HTTP-mocked request assertions (method/path/body), --json output, and API error paths. Refs #552 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | 1 个月前 | |
feat(discussions): add API write operations and org discussion delete command Add all 30 discussion write operation API functions (15 org + 15 repo) and the org discussion delete command (gc discussions delete). Closes #555 | 1 个月前 | |
fix(discussions): correct chapter intro and guard empty edit body - Update docs/COMMANDS.md Discussions chapter intro: write commands (create/edit) now exist alongside list/view/delete - Update discussions command Long/help examples to cover create/edit - Reject empty --body/--body-file in discussions edit (no-op PUT guard), matching the comments commands, with a regression test Refs #552 | 1 个月前 | |
feat(cli): 统一 list 命令分页 flag(--limit + --per-page 全覆盖) issue #501:list 类命令分页 flag 命名分裂——issue/label/milestone/ repo list/repo log 仅 --limit;discussions(org+project) 仅 --per-page; pr list/actions 两者并存。agent 无法预知某命令用哪个 flag(§6.1)。 方案 A:所有 list 命令统一提供 --per-page(API page size)+ --limit (客户端结果上限,默认 30)。语义对齐 pr list 既有双 flag 模式 (resolvePerPage + trim + LimitSet/PerPageSet)。 改动: - issue/label/milestone/repo list/repo log(5 命令)补 --per-page + resolvePerPage/trim + PerPage<0 校验 - discussions list(org) + project list(2 命令)补 --limit + trim + Limit<=0 校验 - pr list / actions(已合规)不改 - docs/COMMANDS.md 更新 7 命令分页 flag 说明(修正 label list 旧误述) - 单测:issue list 补 resolvePerPage/trim/validation 表驱动测试; discussions org+project 修 fixture(Limit:30) + 补 limit 校验用例 §5.9.B:已查 gc-api-doc 确认 issues/labels/milestones 端点均支持 per_page(无功能缺口,仅 flag 命名分裂)。 Closes #501 | 2 个月前 | |
!562 merge feature/issue-552-repo-comments into main feat(discussions): add repo discussion comment edit/reply Created-by: langjitianya008 Commit-by: langjitianya008 Merged-by: kerer-sk Description: ## 变更内容 新增仓库级讨论评论写命令 edit/reply。 ### 新增命令(2 个) | 命令 | API | |------|-----| | gc discussions project comments edit <number> <comment-id> [-R owner/repo] --body [--json] | PUT /api/v5/repos/{owner}/{repo}/discuss/{number}/comment/{id} | | gc discussions project comments reply <number> <comment-id> [-R owner/repo] --body [--json] | POST /api/v5/repos/{owner}/{repo}/discuss/{number}/comment/{id}/reply | ### 改动说明 - api/queries_discussions.go:UpdateRepoDiscussionComment 改用 PUT(对照官方 OpenAPI) - pkg/cmd/discussions/project/comments/edit|reply/:新命令包,遵循仓库命令模板(Options 结构体 + NewCmdXxx 工厂 + runF 注入),全部支持 --json、--body-file -(stdin)、提交前密钥扫描 - docs/COMMANDS.md:2 个新命令章节 ## Test Plan - [x] go build ./... / go vet ./... / gofmt -l 通过 - [x] go test ./... 全部通过(162 个包) - [x] 新命令包覆盖率:project comments edit 79.1%、reply 79.1%(≥70% 门禁) - [x] pre-commit 11/11 hooks 通过 - [x] gitleaks 工作区 + 历史扫描 0 findings - [x] 单元测试覆盖:flag 解析、run 校验、HTTP mock 断言(method/path/body)、--json 输出、错误路径 ## 自检说明 - api-doc/ submodule 三种方式均认证失败不可达,以 issue 正文 + 官方文档站核对 PUT 端点 - 真实命令验证受限:infra-test/* 仓库无讨论环境,已用 HTTP mock 全路径断言替代(method/path/body/响应解析) Refs #552 See merge request: atomgit-cli/cli!562 | 1 个月前 | |
refactor(discussions): DRY print helpers into render package org/project list+view 的 printDiscussions/printDiscussion 是逐字节复制 (~33+24 行 ×2),未来格式变更需改 4 处。抽取 PrintDiscussions/ PrintDiscussion 到已有的 pkg/cmd/discussions/render 包,4 个调用点统一 引用,删除本地副本。 行为 bit-identical:函数体原样搬迁,仅包名/调用方变化。 Closes #500 | 2 个月前 | |
refactor(discussions): DRY print helpers into render package org/project list+view 的 printDiscussions/printDiscussion 是逐字节复制 (~33+24 行 ×2),未来格式变更需改 4 处。抽取 PrintDiscussions/ PrintDiscussion 到已有的 pkg/cmd/discussions/render 包,4 个调用点统一 引用,删除本地副本。 行为 bit-identical:函数体原样搬迁,仅包名/调用方变化。 Closes #500 | 2 个月前 | |
fix(discussions): correct chapter intro and guard empty edit body - Update docs/COMMANDS.md Discussions chapter intro: write commands (create/edit) now exist alongside list/view/delete - Update discussions command Long/help examples to cover create/edit - Reject empty --body/--body-file in discussions edit (no-op PUT guard), matching the comments commands, with a regression test Refs #552 | 1 个月前 |