Files
git-mpm/skills/gitea/references/releases.md
T

3.0 KiB

Releases & Tags API reference

Base: https://git.mpm.to/api/v1

List releases for a repository

curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases?limit=20&page=1"

Key response fields per release: id, tag_name, name, body, draft, prerelease, created_at, published_at, author.login, html_url, assets.

Get the latest release

curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases/latest"

Get a release by tag name

curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases/tags/{tag}"

Get a release by ID

curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases/{id}"

Create a release

curl -s -X POST \
  -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  -H "Content-Type: application/json" \
  -d '{
    "tag_name": "v1.2.0",
    "name": "Release v1.2.0",
    "body": "Release notes (markdown supported)",
    "draft": false,
    "prerelease": false,
    "target_commitish": "main"
  }' \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases"

target_commitish can be a branch name or commit SHA. Set draft: true to save without publishing. Set prerelease: true for pre-release versions.

Update a release

curl -s -X PATCH \
  -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated release name",
    "body": "Updated release notes",
    "draft": false,
    "prerelease": false
  }' \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases/{id}"

Delete a release

curl -s -X DELETE \
  -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases/{id}"

Always confirm before deleting a release.

List tags for a repository

curl -s -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/tags?limit=20"

Create a tag

curl -s -X POST \
  -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  -H "Content-Type: application/json" \
  -d '{
    "tag_name": "v1.2.0",
    "message": "Tag message",
    "target": "main"
  }' \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/tags"

Delete a tag

curl -s -X DELETE \
  -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/tags/{tag}"

Upload a release asset

curl -s -X POST \
  -H "Authorization: token e82a7235b948fbbeea60329422fcac89fa5a5ce8" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @/path/to/file \
  "https://git.mpm.to/api/v1/repos/{owner}/{repo}/releases/{id}/assets?name=filename.zip"