feat: implement commit statuses (CI integration) #3
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Commit statuses are how CI/CD systems (Gitea Actions, Jenkins, etc.) report build results
back to a commit. Reading and writing statuses is required to integrate external pipelines
and to display CI state in PR workflows.
Endpoints to implement
/repos/{owner}/{repo}/statuses/{sha}list_commit_statuses/repos/{owner}/{repo}/statuses/{sha}create_commit_status/repos/{owner}/{repo}/commits/{sha}/statusget_combined_commit_statusAcceptance Criteria
list_commit_statuses(owner, repo, sha, limit, page)returns paginated list of statusescreate_commit_status(owner, repo, sha, state, context, description, target_url)creates statusstatevalidated as one of:pending|success|error|failure|warningget_combined_commit_status(owner, repo, sha)returns aggregate state + list of statusesshaaccepts full commit hash, branch name, or tag nameTechnical Notes
POST /statuses/{sha}body:{"state": "success", "context": "ci/build", "description": "Build passed", "target_url": "https://..."}contextis the name of the status check (e.g."ci/build","security/scan")shain the URL forlist_commit_statusesis/statuses/{sha}not/commits/{sha}/statuses— verify against spec