GitHub 仓库选择菜单:安装仓库列表 + PATCH 补仓库 + 控制台下拉
This commit is contained in:
1 parent
5ba4d35839
commit
6ba671e051
4 files changed
+343
No files matched your search
@@ -871,6 +871,36 @@ interrupted 且终态任务 cancel 返回 400、心跳后 sweep 不扫刚心跳
|
||||
`/tasks`、`/projects`、`/workers`、`/health` 同款,否则页面能打开
|
||||
但环境区永远加载失败)。
|
||||
|
||||
## GitHub 仓库选择(建项目 / 给已有项目补仓库)
|
||||
|
||||
控制台以前没有仓库选择菜单:建项目时 repo_url 只是个可选的
|
||||
手填文本框,不填也能建出项目,之后建环境必被 400 挡住
|
||||
(“project has no repo_url”),且没有修改接口,死结只能重建
|
||||
项目。本节补上选择菜单与补仓库接口。
|
||||
|
||||
- 列表来源:`GET /github/repos`(需认证)列出本服务 GitHub
|
||||
App 安装记录里的仓库(installation_repositories 事件同步进
|
||||
`github_app_installations` 表,字段 installation_id /
|
||||
account_login / repo_full_name,clone_url 由 full_name 拼出
|
||||
`https://github.com/<full_name>.git`)。只含仓库名,不含密钥。
|
||||
- 建项目:仓库下拉(从上述接口加载)+ 手填文本框并存:选下拉
|
||||
即把 clone_url 填进文本框,仍按原有 body 提交;没进 App 安装
|
||||
的公开仓库继续手动填 URL,不受影响。
|
||||
- 补仓库:`PATCH /projects/{id}`(项目 owner 才能调, maintainer
|
||||
也不行——改项目归属配置按 manage_project 计),body 必须含
|
||||
repo_url:字符串走与创建时同一套 validate_repo_url 校验(带凭
|
||||
证的 URL 拒绝),null 或空串表示清空。改完记 update_project
|
||||
审计。环境区在当前项目无仓库时直接亮出同一下拉 + “保存仓库”
|
||||
按钮,保存后立即可以建环境(截图里的死结就卡在这里)。
|
||||
- 快照语义不变:补仓库只改 projects 行,已建环境的 repo_url
|
||||
快照不动(仍用建环境时的仓库),新环境才用新值。
|
||||
- 信任模型说明(诚实边界):下拉没有放宽任何权限——手填 URL
|
||||
本来就能填任意地址,选下拉与手填是同一能力;按用户隔离仓库
|
||||
可见范围(例如只列该用户 GitHub 身份名下的安装仓库)是后续
|
||||
工作,本轮不做。公网部署时 nginx 须同批加
|
||||
`location ^~ /github/repos`(`/projects` 已有 location,PATCH
|
||||
走它,不用重复加)。
|
||||
|
||||
## 租户配额与计费
|
||||
|
||||
- 口径:配额是按用户、按 UTC 自然月的 USD 上限(`user_quotas`
|
||||
|
||||
Reference in new issue
Block a user