feat(tools): issue_get, release_create, repo_delete (#11, #17, #20) #23

Merged
mathias merged 1 commits from feat/batch-3 into main 2026-05-15 12:00:09 +00:00
Owner

What

Batch 3 — completes the v0.2 sprint.

Tools added

Issue Tool Gitea API Risk
#20 issue_get GET /issues/{number} LOW — read-only
#17 release_create POST /releases LOW — creates tag + release
#11 repo_delete DELETE /repos/{owner}/{repo} HIGH — irreversible

Safety

repo_delete requires confirm == repo name. Missing or wrong confirm returns an error before any API call. Four test cases: correct confirm, wrong confirm, missing confirm, allowlist rejection.

issue_get expands the Issue struct with labels, assignees, comments, created_at, updated_at — used by existing issue_create response too (additive, no breakage).

task check passes (lint + race test + vet + govulncheck).

## What Batch 3 — completes the v0.2 sprint. ### Tools added | Issue | Tool | Gitea API | Risk | |-------|------|-----------|------| | #20 | `issue_get` | `GET /issues/{number}` | LOW — read-only | | #17 | `release_create` | `POST /releases` | LOW — creates tag + release | | #11 | `repo_delete` | `DELETE /repos/{owner}/{repo}` | HIGH — irreversible | ### Safety `repo_delete` requires `confirm` == repo name. Missing or wrong confirm returns an error before any API call. Four test cases: correct confirm, wrong confirm, missing confirm, allowlist rejection. `issue_get` expands the `Issue` struct with `labels`, `assignees`, `comments`, `created_at`, `updated_at` — used by existing `issue_create` response too (additive, no breakage). `task check` passes (lint + race test + vet + govulncheck).
mathias added 1 commit 2026-05-15 12:00:03 +00:00
feat(tools): issue_get, release_create, repo_delete (#11, #17, #20)
All checks were successful
CD / Lint / Test / Vet (pull_request) Successful in 7s
CD / Build & Import (pull_request) Has been skipped
CD / Deploy via GitOps (pull_request) Has been skipped
d4dddbdb6c
issue_get: GET /repos/{owner}/{repo}/issues/{number} — full issue with labels, assignees, comment count
release_create: POST /repos/{owner}/{repo}/releases — create release and tag in one call
repo_delete: DELETE /repos/{owner}/{repo} — confirm=<repo name> required, blocks accidents
mathias merged commit 3b490271ef into main 2026-05-15 12:00:09 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias/gitea-mcp#23