feat(api): 增强单次调用模板变量与预演能力 #234

Closed
Mengz wants to merge 0 commits from Mengz/gitlink-cli:mengz/api-command-templates into master
Contributor

这个改动把 gitlink-cli api 的单次调用模式和 batch 模式拉齐了。现在单次调用也支持 --var key=value,可以在路径、查询参数和 JSON 请求体里复用 {{var}} 模板变量;同时路径里的 :owner 和 :repo 会自动结合当前 --owner / --repo 或 git remote 上下文渲染,直接解决了 open issue #20 里提到的单次调用不替换占位符问题。

除了修这个 bug,这次也顺手把单次调用的预演能力补上了。--dry-run 不再只属于 batch 模式,单次请求也可以先看到最终渲染出来的 method、path、query、body 和 variables,再决定是否真正发请求。这样脚本、比赛里的 Agent、或者调试 OpenAPI 的时候,不需要为了一个请求专门写 batch plan,单条命令也能保持和 batch 一致的模板体验。

测试和文档也一起补齐了。新增单测覆盖 :owner/:repo 渲染、单次请求里的变量渲染、dry-run 不触网和缺失变量报错;README 追加了新用法示例,并新增了变更说明文档。本地已经通过 go test ./cmd/api、go test ./...、go build ./...、git diff --check、go run . api --help,同时对本次修改文件做了 UTF-8 检查,没有发现中文乱码。

这个改动把 gitlink-cli api 的单次调用模式和 batch 模式拉齐了。现在单次调用也支持 --var key=value,可以在路径、查询参数和 JSON 请求体里复用 {{var}} 模板变量;同时路径里的 :owner 和 :repo 会自动结合当前 --owner / --repo 或 git remote 上下文渲染,直接解决了 open issue #20 里提到的单次调用不替换占位符问题。 除了修这个 bug,这次也顺手把单次调用的预演能力补上了。--dry-run 不再只属于 batch 模式,单次请求也可以先看到最终渲染出来的 method、path、query、body 和 variables,再决定是否真正发请求。这样脚本、比赛里的 Agent、或者调试 OpenAPI 的时候,不需要为了一个请求专门写 batch plan,单条命令也能保持和 batch 一致的模板体验。 测试和文档也一起补齐了。新增单测覆盖 :owner/:repo 渲染、单次请求里的变量渲染、dry-run 不触网和缺失变量报错;README 追加了新用法示例,并新增了变更说明文档。本地已经通过 go test ./cmd/api、go test ./...、go build ./...、git diff --check、go run . api --help,同时对本次修改文件做了 UTF-8 检查,没有发现中文乱码。
Mengz added 1 commit 2026-06-13 17:40:42 +08:00
Mengz force-pushed mengz/api-command-templates from b27ab67d68 to bf21056f04 2026-06-22 12:33:33 +08:00 Compare
Mengz added 1 commit 2026-06-24 17:19:14 +08:00
wbtiger closed this pull request 2026-07-14 22:58:56 +08:00
wbtiger reopened this pull request 2026-07-14 23:02:45 +08:00
wbtiger closed this pull request 2026-07-14 23:06:58 +08:00

Pull request closed

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#234
No description provided.