OctoRill 可以在未登录状态下展示公开 GitHub 仓库的 Releases。接入方只需要把用户导向 OctoRill 部署上的公开 Release 页面;如果需要自行渲染列表或详情,也可以调用公开 REST API。
公开 Release 只支持 GitHub 公开仓库,不提供私有仓库、登录用户视图或非公开权限数据。
把 {OCTORILL_ORIGIN} 替换成你的 OctoRill 部署地址:
示例:
owner、repo 和 tag 都应该按 URL path segment 编码。尤其是 tag 里包含 /、空格或其它特殊字符时,必须先编码:
首次访问一个尚未缓存的仓库时,页面会自动登记该仓库并展示同步等待状态;后台同步完成后,页面会自动重试并显示 Release 内容。
列表接口:
详情接口:
常用 query 参数:
| 参数 | 可选值 | 默认值 | 说明 |
|---|---|---|---|
content |
original、translated、polished、all |
all |
控制返回原文、中文翻译、润色内容或全部内容。 |
lang |
zh-CN |
zh-CN |
当前只支持中文翻译。 |
limit |
1 到 30 |
6 |
仅列表接口支持。 |
cursor |
上次响应的 next_cursor |
空 | 仅列表接口支持,用于分页。 |
source |
page |
空 | OctoRill 页面访问会使用;普通 API 调用可省略。 |
列表响应在数据可用时返回 200 OK:
如果仓库已登记但同步尚未完成,接口返回 202 Accepted,并带有 Retry-After header:
reason 可能是 repository_registered_metadata_pending 或 repository_registered_release_sync_pending。接入方通常只需要按 status=pending_sync 和重试时间处理,不应把具体 reason 当作稳定业务分支。
接入方应按 retry_after_seconds 或 Retry-After 延迟重试,不要在等待期内高频轮询。
列表项会包含 Release 的基础信息:
release_idrepo_full_namerepo_visualtag_nameprevious_tag_namenamebodyhtml_urlpublished_atis_prereleaseis_drafttranslatedsmarttranslated 是中文翻译结果;smart 是面向阅读的润色结果。它们可能为空,表示对应内容尚未生成或不可用。
OCTORILL_PUBLIC_BASE_URL 对齐,避免公开页面生成错误的站内链接。OctoRill 自身的 v2.29.0 Release 是公开 Release 功能的参考入口:v2.29.0。