feat(org): add organization team shortcuts #322

Merged
wbtiger merged 1 commits from ohanabi/gitlink-cli:feat/org-team-shortcuts into master 2026-07-14 22:25:28 +08:00
Contributor

合并请求描述

本次合并请求为组织管理模块新增 org +teams 快捷命令,用于直接查询组织团队列表,减少用户和 Agent 通过 Raw API 手动调用 / organizations/:id/teams 的成本。同时补强 org 快捷命令的必填参数校验,避免缺少参数时拼接空路径并发起错误请求。

相关Issue

关联Issue编号:暂无

变更内容

1. 新增组织团队列表快捷命令

  • 新增 gitlink-cli org +teams --id <org_id_or_login>
  • 支持 --page / --limit 分页参数。
  • 调用 GET /organizations/{id}/teams 查询团队列表。
  • 新增中英文 i18n 文案。

2. 补强组织命令参数校验

  • 修复 org +infoorg +membersorg +create 中忽略 RequireArg 错误的问题。
  • 新增缺少 --id / --name 时不应发起 API 请求的回归测试。
  • 新增 org +teams 的路径、分页、缺参和 HTTP 错误测试。

3. 完善用户与 Agent 文档

  • 更新 README / README.zh-CN 的组织管理能力和使用示例。
  • 更新 skills/README.mdskills/gitlink-org/SKILL.md
  • 新增 skills/gitlink-org/references/gitlink-org-teams.md
  • 新增 doc/changes/org-team-shortcuts.md 记录本次变更。

问题描述

当前组织模块已有 org +listorg +infoorg +membersorg +create,但组织团队列表仍需要用户或 Agent 手动使用 Raw API:
gitlink-cli api GET /organizations/:id/teams

这会导致组织协作场景中的团队查询体验不一致,也增加了 Agent 工作流中手动拼接 API 路径和分页参数的成本。此外,部分 org 命令在直接调用
shortcut 逻辑时没有正确返回必填参数错误,缺参时可能继续拼接空路径。

问题复现步骤

  1. 查看 gitlink-cli org --helpskills/gitlink-org/SKILL.md
  2. 发现组织成员可通过 org +members 查询,但组织团队没有对应 shortcut。
  3. 如需查询团队,只能改用 gitlink-cli api GET /organizations/:id/teams
  4. 在测试中直接调用 org shortcut 且缺少必填参数时,会出现空参数继续拼接 API 路径的问题。

根本原因

组织模块的 Shortcut 覆盖范围不完整,团队列表接口只出现在 Skill 的 Raw API 补充中,未沉淀为高频快捷命令。同时,已有 org shortcut 对
RequireArg 的返回错误使用 _ 忽略,导致直接执行 shortcut 逻辑时缺少必填参数不能及时中断。

修复方案

新增 org +teams shortcut,复用 org 模块现有分页模式,要求传入 --id,并通过 CallAPIWithQuery 调用 /organizations/{id}/teams。同步补
充中英文 i18n、README、Skill 主文档、Skill 参考页和变更说明。

同时修复 org +infoorg +membersorg +create 的必填参数错误处理,并增加缺参回归测试,确保缺少必要参数时不会发起 API 请求。

验证

  • gofmt -w shortcuts/org/org.go shortcuts/org/org_test.go
  • git diff --check
  • go run ./internal/i18n/cmd/check
  • go test ./shortcuts/org ./shortcuts
  • go test ./...
## 合并请求描述 本次合并请求为组织管理模块新增 `org +teams` 快捷命令,用于直接查询组织团队列表,减少用户和 Agent 通过 Raw API 手动调用 `/ organizations/:id/teams` 的成本。同时补强 org 快捷命令的必填参数校验,避免缺少参数时拼接空路径并发起错误请求。 ## 相关Issue 关联Issue编号:暂无 ## 变更内容 ### 1. 新增组织团队列表快捷命令 - 新增 `gitlink-cli org +teams --id <org_id_or_login>`。 - 支持 `--page` / `--limit` 分页参数。 - 调用 `GET /organizations/{id}/teams` 查询团队列表。 - 新增中英文 i18n 文案。 ### 2. 补强组织命令参数校验 - 修复 `org +info`、`org +members`、`org +create` 中忽略 `RequireArg` 错误的问题。 - 新增缺少 `--id` / `--name` 时不应发起 API 请求的回归测试。 - 新增 `org +teams` 的路径、分页、缺参和 HTTP 错误测试。 ### 3. 完善用户与 Agent 文档 - 更新 README / README.zh-CN 的组织管理能力和使用示例。 - 更新 `skills/README.md` 与 `skills/gitlink-org/SKILL.md`。 - 新增 `skills/gitlink-org/references/gitlink-org-teams.md`。 - 新增 `doc/changes/org-team-shortcuts.md` 记录本次变更。 ## 问题描述 当前组织模块已有 `org +list`、`org +info`、`org +members`、`org +create`,但组织团队列表仍需要用户或 Agent 手动使用 Raw API: `gitlink-cli api GET /organizations/:id/teams`。 这会导致组织协作场景中的团队查询体验不一致,也增加了 Agent 工作流中手动拼接 API 路径和分页参数的成本。此外,部分 org 命令在直接调用 shortcut 逻辑时没有正确返回必填参数错误,缺参时可能继续拼接空路径。 ## 问题复现步骤 1. 查看 `gitlink-cli org --help` 或 `skills/gitlink-org/SKILL.md`。 2. 发现组织成员可通过 `org +members` 查询,但组织团队没有对应 shortcut。 3. 如需查询团队,只能改用 `gitlink-cli api GET /organizations/:id/teams`。 4. 在测试中直接调用 org shortcut 且缺少必填参数时,会出现空参数继续拼接 API 路径的问题。 ## 根本原因 组织模块的 Shortcut 覆盖范围不完整,团队列表接口只出现在 Skill 的 Raw API 补充中,未沉淀为高频快捷命令。同时,已有 org shortcut 对 `RequireArg` 的返回错误使用 `_` 忽略,导致直接执行 shortcut 逻辑时缺少必填参数不能及时中断。 ## 修复方案 新增 `org +teams` shortcut,复用 org 模块现有分页模式,要求传入 `--id`,并通过 `CallAPIWithQuery` 调用 `/organizations/{id}/teams`。同步补 充中英文 i18n、README、Skill 主文档、Skill 参考页和变更说明。 同时修复 `org +info`、`org +members`、`org +create` 的必填参数错误处理,并增加缺参回归测试,确保缺少必要参数时不会发起 API 请求。 ## 验证 - `gofmt -w shortcuts/org/org.go shortcuts/org/org_test.go` - `git diff --check` - `go run ./internal/i18n/cmd/check` - `go test ./shortcuts/org ./shortcuts` - `go test ./...`
ohanabi added 1 commit 2026-07-03 10:44:45 +08:00
wbtiger merged commit eec754a9b8 into master 2026-07-14 22:25:28 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#322
No description provided.