Jugg 后台自建接入清单
自建后台的目标通常有两类:一类是让团队内部统一下发 Jugg 配置和插件版本,另一类是收集使用情况事件、提供热更新和远端机器申请。建议先完成最小接口,再逐步接入增强能力。
最小可用接口
| 接口 | 方法 | 最小行为 |
|---|---|---|
/check_update | GET | 返回当前最新版本、是否需要升级、下载入口、通知和项目配置 |
/report_event | POST | 接收事件 JSON,成功时返回 2xx |
/check_hot_update | GET | 不使用热更新时返回空更新结果 |
如果只需要项目配置下发,可以让 /check_update 返回 isNeedUpgrade=false,并在 customConfigJson 中放入项目配置。其它接口返回成功或空结果即可。
有可用后台时,手工报告和失败日志自动上传都会请求该后台的 /report_issue,因此后台需要实现此接口。明确设置的 Custom Server,以及按当前内置列表或此前记住的内网列表选出的后台,都会收到原文日志,可能包含工程路径、用户名及其他敏感内容。运行支持配置继承的内部包后,升级公开包仍可连接内网后台;首次安装公开包且没有后台配置时不会默认走这条路径。应使用可信服务器并优先启用 HTTPS。没有可用后台时,手工报告上传脱敏诊断包到公共服务,自动上传则跳过。见 报告问题。
/check_update 返回内容
| 字段 | 说明 |
|---|---|
latestVersion | 后台认为的最新完整插件版本 |
isNeedUpgrade | 是否提示用户下载安装完整插件包 |
downloadUrl | 完整插件包下载页或下载地址 |
templateList | 旧字段,当前可返回空数组 |
notification | 可选通知,插件会在 IDE 中展示 |
customConfigJson | 可选项目配置,插件会应用到当前项目 |
customConfigJson 是自建后台最常用的能力。它可以按项目名返回不同配置,详见 项目配置下发。
可选增强接口
| 能力 | 相关接口 | 什么时候接入 |
|---|---|---|
| 完整插件包下载 | /download_page、/download | 希望从内部后台统一发布插件包 |
| 热更新下载 | /check_hot_update、/download_hot_update | 希望下发 jar 级别更新 |
| 热更新状态 | /check_hot_update_status | 运维或灰度排查需要查看当前热更新状态 |
| 自定义编译器下载 | /download_custom_compiler | 项目配置中下发自定义编译器 jar |
| 手工问题报告与失败日志自动上传 | /report_issue | 接收手工诊断包和自动失败日志包 |
| 远端机器申请 | /remote_apply 等交互接口 | 团队有内部云开发机申请系统 |
部署前检查
- 后台域名必须能被安装 Jugg 的开发机访问。
- 插件包、热更新 jar 和自定义编译器 jar 的下载链接必须可直接下载。
- 如果返回
md5,文件内容必须和 md5 匹配。 - 如果接入数据库,至少保存事件时间、用户标识、项目、版本、动作和结果。
- 如果不使用某项能力,应返回空配置或空更新,而不是返回 500。
与本地能力的关系
后台不接管本地编译部署;有可用后台时,它还可以接收手工问题报告。Jugg Run、Debug、Android Test、CLI 和 MCP 的执行仍发生在本地 Android Studio 或本机命令行环境中。