ops forgejo release: add CRUD verbs #72

Closed
opened 2026-05-25 00:25:41 +00:00 by coilysiren · 0 comments
Owner

Problem

The gh release verb set has direct forgejo API equivalents but no coily surface.

Scope

Add the following under coily ops forgejo release:

  • create --repo <owner/name> --tag <tag> [--name N] [--body-file PATH] [--draft] [--prerelease] -> POST /repos/{owner}/{repo}/releases
  • list --repo <owner/name> [--limit N] -> GET /repos/{owner}/{repo}/releases
  • view --repo <owner/name> --id ID -> GET /repos/{owner}/{repo}/releases/{id}
  • edit --repo <owner/name> --id ID [--name N] [--body-file PATH] [--draft=...] [--prerelease=...] -> PATCH /repos/{owner}/{repo}/releases/{id}
  • delete --repo <owner/name> --id ID -> DELETE /repos/{owner}/{repo}/releases/{id}

Out of scope (follow-up)

upload-asset -> POST /repos/{owner}/{repo}/releases/{id}/assets. Different mechanism (multipart/form-data with a file part) than the JSON CRUD verbs - worth a separate ticket so the asset-upload surface gets its own review.

Why

Third noun of the 5-noun sweep. Releases are the natural next surface after issues/labels for repo-level lifecycle automation.

**Problem** The `gh release` verb set has direct forgejo API equivalents but no coily surface. **Scope** Add the following under `coily ops forgejo release`: - `create --repo <owner/name> --tag <tag> [--name N] [--body-file PATH] [--draft] [--prerelease]` -> `POST /repos/{owner}/{repo}/releases` - `list --repo <owner/name> [--limit N]` -> `GET /repos/{owner}/{repo}/releases` - `view --repo <owner/name> --id ID` -> `GET /repos/{owner}/{repo}/releases/{id}` - `edit --repo <owner/name> --id ID [--name N] [--body-file PATH] [--draft=...] [--prerelease=...]` -> `PATCH /repos/{owner}/{repo}/releases/{id}` - `delete --repo <owner/name> --id ID` -> `DELETE /repos/{owner}/{repo}/releases/{id}` **Out of scope (follow-up)** `upload-asset` -> `POST /repos/{owner}/{repo}/releases/{id}/assets`. Different mechanism (multipart/form-data with a file part) than the JSON CRUD verbs - worth a separate ticket so the asset-upload surface gets its own review. **Why** Third noun of the 5-noun sweep. Releases are the natural next surface after issues/labels for repo-level lifecycle automation.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
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
coilyco-bridge/coily#72
No description provided.