gitlink-cli/skills/gitlink-release/SKILL.md

96 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: gitlink-release
version: 1.0.0
description: "发布管理:创建、编辑、更新、查看、删除 Release。当用户需要操作 GitLink 版本发布时触发。"
metadata:
requires:
bins: ["gitlink-cli"]
cliHelp: "gitlink-cli release --help"
---
# gitlink-release发布操作
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。**
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`GitHub CLI操作 GitLink 资源。`gh` 仅适用于 GitHub 平台。**
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)
## Shortcuts
| Shortcut | 说明 |
|----------|------|
| `release +list` | 发布列表 |
| `release +create` | 创建发布 |
| `release +edit` | 获取发布编辑数据 |
| `release +view` | 发布详情 |
| `release +update` | 更新发布并保留未传字段 |
| `release +delete` | 删除发布 |
| `release +latest` | 获取最新发布版本 |
| `release +auto-notes` | 自动生成 Release Notes |
## 使用示例
```bash
# 列出发布
gitlink-cli release +list --owner Gitlink --repo forgeplus
# 创建发布,可附带草稿、预发布和附件 ID
gitlink-cli release +create --tag v1.0.0 --name "v1.0.0 正式版" --body "## 更新内容\n- 新增搜索功能\n- 修复登录 Bug" --target master --draft false --prerelease false --attachment-ids 12,34
# 查看发布详情(⚠️ 必须使用 version_id不能用 tag_name
# 先用 release +list 获取 version_id
gitlink-cli release +list --owner myuser --repo myrepo --format json
# 从返回的 releases 数组中取 version_id 字段
gitlink-cli release +view --id <version_id>
# 获取编辑数据并更新发布(保留未传字段)
gitlink-cli release +edit --id <version_id>
gitlink-cli release +update --id <version_id> --body "更新后的发布说明" --dry-run
gitlink-cli release +update --id <version_id> --body "更新后的发布说明"
# 删除发布(使用 version_id删除前先 dry-run
gitlink-cli release +delete --id <version_id> --dry-run
gitlink-cli release +delete --id <version_id>
# 获取最新发布版本(默认跳过草稿和预发布)
gitlink-cli release +latest --owner myuser --repo myrepo
# 获取最新发布版本(包含预发布版本)
gitlink-cli release +latest --owner myuser --repo myrepo --include-prerelease
# 获取最新发布版本(包含草稿)
gitlink-cli release +latest --owner myuser --repo myrepo --include-draft
# 自动生成 Release Notes基于最近的提交和已关闭的 Issue
gitlink-cli release +auto-notes --owner myuser --repo myrepo --to-tag v2.0.0
# 自动生成 Release Notes指定起始标签
gitlink-cli release +auto-notes --owner myuser --repo myrepo --from-tag v1.0.0 --to-tag v2.0.0
# 自动生成 Release NotesJSON 格式输出,包含统计信息)
gitlink-cli release +auto-notes --owner myuser --repo myrepo --to-tag v2.0.0 --format json
```
## API 注意事项
- **`release +view` 必须使用 `version_id`**(从 `release +list` 返回结果中获取),使用 tag_name 会返回 HTML 页面而非 JSON
- **`release +delete` 使用 `version_id`**,已验证可正常删除
- Release 列表中的 `id` 字段可能为 null应使用 `version_id` 字段
- **`release +update` 会先调用 `release +edit` 对应接口读取当前值**,然后保留未传字段,避免部分更新清空描述、标签、附件等字段
- `release +update``release +delete` 支持 `--dry-run`,写入/删除前建议先预览请求
- **`release +latest`** 默认跳过草稿和预发布版本,返回第一个符合条件的正式发布版本
- **`release +auto-notes`** 会根据提交信息自动分类feat→新功能fix→Bug修复其他→其他变更并包含已关闭的 Issue 列表
## References
- [release +create](references/gitlink-release-create.md)
- [release +edit](references/gitlink-release-edit.md)
- [release +update](references/gitlink-release-update.md)
- [release +assets](references/gitlink-release-assets.md)
- [release +download](references/gitlink-release-download.md)
- [release +view](references/gitlink-release-view.md)
- [release +delete](references/gitlink-release-delete.md)
- [release +latest](references/gitlink-release-latest.md)
- [release +auto-notes](references/gitlink-release-auto-notes.md)