CNB 集成
CNB 集成把 cnb.cool 上的合并请求、提交和议题关联到 HiFox 任务,并可以在 CNB 上发送任务回链。
它和 GitHub 集成不是同一套:
- 没有 OAuth 应用,组织绑的是 个人访问令牌;
- 没有平台级 webhook,入站靠每个仓库的
.cnb.yml里贴一段流水线步骤。
从哪里进入?
打开 外部应用集成。CNB 在 Git 仓库 分组里,卡片名称是 CNB。菜单名称以线上为准。
用令牌连接 CNB 组
- 进入 外部应用集成,打开 CNB 详情页。
- 在 绑定 CNB 组织 中点击 绑定令牌。
- 粘贴 CNB 个人访问令牌。令牌会加密存储,保存前会先向 CNB 验证一次。
- 完整令牌只在提交时出现;之后界面只显示遮罩摘要,不会再展示完整内容。
绑定页会写清令牌需要哪些权限。当前绑定页提示需要:
repo-notes:rw(发送回链评论)repo-pr:r(回查合并请求正文)account-engage:r(以你的身份参与讨论)
如果 CNB 拒绝令牌,页面会展示 CNB 返回的原因原文。按原文补权限或更换令牌即可,不必猜测内部错误码。
令牌失效时,回链评论和合并请求正文回查都会停。用 更换令牌 或 立即校验 处理。
断开连接会停止合并请求关联和回链。仓库配对会保留,重新绑定同一个组织即可恢复。断开或移除连接都不会删除已有任务,也不会删除 CNB 上的内容。
配对仓库并粘贴 .cnb.yml
连接仓库后,把页面提供的片段贴进该仓库:
- 在 已配对的仓库 里点击 配对仓库。
- 填写仓库路径(仓库链接里的完整路径,可能超过两段)和空间。
- 打开 配置指引,把页面给出的
.cnb.yml片段提交到该仓库的默认分支。议题类事件只读取默认分支上的配置。
CNB 没有平台级 webhook。片段贴错或没贴到默认分支时,CNB 会静默跳过流水线,不会在 HiFox 里报一个醒目错误。
页面会显示「有没有收到过事件」:
- 有最近事件:这段配置已经生效过;
- 尚未收到任何事件:如果片段已经提交,确认它在默认分支上、并且流水线确实跑过。
片段里带有这个仓库专属的签名密钥,不要在别的仓库复用。密钥泄露时,用 重新生成密钥,再把新片段贴回去。
任务回链
任务回链可以开关。打开后,提到任务的 CNB 合并请求或议题下会回复一条任务链接。
把任务编号写进合并请求的标题、正文或源分支名——提交信息、议题和评论里同样有效——就会尝试关联到那个任务。
常见问题
为什么配对了仓库,却一直没有事件?
先看页面有没有收到过事件。没有的话,检查 .cnb.yml 片段是否贴在默认分支,以及 CNB 流水线有没有真正跑过。贴错时 CNB 会静默跳过。
令牌提示被拒绝怎么办?
看页面上的 CNB 原文。它通常会点出缺了哪个权限。按绑定页提示补齐后,再 立即校验 或 更换令牌。
断开 CNB 会删任务吗?
不会。已有任务和 CNB 上的内容都会保留。