GitHub
GitHub 集成可将你的代码仓库连接到 Almirant,以将 pull request 和 commit 关联到工作项,直接从看板查看开发活动,并为 AI 代理提供项目代码上下文。
前置要求
GitHub 集成由 feature flag 控制。要让它在你的 Almirant 实例中可用,必须启用环境变量 NEXT_PUBLIC_FEATURE_GITHUB。
连接 GitHub
该连接通过组织级 GitHub OAuth App 安装完成:
- 前往 设置 > 集成 > GitHub。
- 点击 连接 GitHub。
- GitHub 会要求你授权 Almirant 作为 OAuth App。
- 选择要安装该应用的组织或账户。
- 选择 Almirant 可访问的仓库(全部或选定仓库)。
- 确认安装。
完成后,你将在集成设置中看到连接状态和可用仓库。
选定仓库
建议仅授权要与 Almirant 项目关联的仓库,而不是授权全部仓库。之后可从 GitHub 设置中修改权限。
将仓库关联到项目
连接 GitHub 后,可以将一个或多个仓库关联到每个项目:
- 前往要关联仓库的项目。
- 前往 仓库 部分。
- 点击 关联仓库。
- 从可用仓库列表中选择仓库。
- 确认关联。
该仓库将关联到项目,其所有活动都会在 Almirant 中可见。
Pull request 和工作项
该集成最有用的功能之一是 pull request 与工作项之间的自动关联。
如何将 PR 关联到工作项
在 GitHub 中的 pull request 标题或描述中包含工作项标识符(例如 A-T-42)。Almirant 会检测该引用并自动关联 PR。
PR 标题示例:
feat: Implementar sistema de notificaciones [A-T-42]
PR 描述示例:
## Descripcion
Implementa el sistema de notificaciones push.
Relacionado con: A-T-42
从 Almirant 查看 PR
在工作项详情中,你可以查看所有关联的 pull request,包括:
- PR 状态(打开、关闭、已合并)。
- 作者和创建日期。
- 指向 GitHub 中 PR 的直接链接。
查看关联的 commit
除 pull request 外,Almirant 还会显示关联到工作项的 commit,为每项任务关联的代码提供完整可追溯性。
开发活动
在项目视图中,仓库部分会显示近期开发活动摘要:
- 主分支上的最新 commit。
- 打开的 pull request 及其状态。
- 团队成员在仓库中的活动。
AI 代理的上下文
当仓库关联到项目时,AI 代理可以访问代码上下文,以便:
- 在实现新功能时理解项目结构。
- 在代码审查期间检查现有代码。
- 基于当前实现生成测试。
- 基于真实 codebase 知识回答技术问题。
断开 GitHub
断开 GitHub 集成:
- 前往 设置 > 集成 > GitHub。
- 点击 断开连接。
- 确认断开连接。
注意
断开 GitHub 会移除仓库与项目的关联。工作项会保留 PR 和 commit 的历史引用,但不会再更新新信息。
开发者指南
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
NEXT_PUBLIC_FEATURE_GITHUB | 在 frontend 中启用 GitHub 集成的 feature flag | 是 |
GITHUB_CLIENT_ID | GitHub OAuth App 的 Client ID | 是 |
GITHUB_CLIENT_SECRET | GitHub OAuth App 的 Client Secret | 是 |
集成架构
该集成包括:
- Frontend:
frontend/src/domains/github/中的github域,包含 OAuth 安装和仓库关联的 hooks。 - Backend:
backend/api/src/routes/中用于管理安装和仓库的路由。 - 数据库:schema 中的
githubInstallations和repositories表。 - Webhooks:接收 GitHub 事件(push、PR)并更新 Almirant 信息的 endpoint。