跳到主要内容
版本:v3&v6

集成GitHub/公有GitLab

通过代码关联集成GitHub/公有GitLab,将代码提交和Project模块结合使用

1.仓库集成配置

1.1 新建 Github/GitLab App

  • Github

登录对应的Github代码仓账号,进入Settings -> Developer settings -> OAuth Apps,点击New OAuth App,填写App信息,点击Register application。 NetEase NetEase 填写对应信息

  • Application name 应用名称自定义即可
  • Homepage URL 填入ONES主页URL
  • Authorization callback URL 用户确认后的回调地址,如{Homepage URL}/project/oauth

NetEase 生成Client ID和Client Secret NetEase 进入ONES服务容器,将对应的Client ID和Client Secret写入ONES的配置文件private.yaml中

  githubClientId: xxx
githubClientSecret: xxx

配置更新后,make setup-ones 重启ONES服务

  • GitLab

与Github类似,登录对应的GitLab代码仓账号,进入Settings -> Applications,点击New application,填写App信息,点击Save application。 NetEase NetEase 生成Application ID和Secret 进入ONES服务容器,将对应的Application ID和Secret写入ONES的配置文件private.yaml中

  gitlabClientId: xxx
gitlabClientSecret: xxx

配置更新后,make setup-ones 重启ONES服务

1.2 新建关联代码仓

如果你使用的是 ONES 私有部署版,请联系客服。ONES 的技术人员将为你准备基础配置,以便于能正常关联 GitHub/GitLab 代码仓。 NetEase

通过 OAuth 的方式认证 GitHub/GitLab,以便系统能获取自动配置代码仓 Webhook 的权限。

  • 如果未认证过 GitHub/GitLab,请点击「新建认证」按钮;在打开的 GitHub/GitLab 平台的界面中确认授权认证 ONES;授权认证 ONES 成功后,系统会引导你回到 ONES 系统。
  • 如果你已认证过 GitHub/GitLab,但想修改认证帐号,请在浏览器的无痕模式下点击弹窗中的「重新认证」,登录新帐号并重新认证后,系统会引导你回到 ONES 系统。 NetEaseNetEase

OAuth 认证成功后,你需要选择代码仓并完成新建关联代码仓。

  1. 目前系统最多能获取到 GitHub/GitLab 的 100 个代码仓。如果希望关联 100 以上个代码仓,你需要将代码仓划分到不同的 GitHub/GitLab 帐号中进行关联。
  2. 操作关联的用户在 GitHub 中至少具有「Owner」权限、在 GitLab 中至少具有「Maintainor」权限,否则系统无权限自动配置代码仓的 Webhook,你需要手工配置。 NetEase

新建关联代码仓后,系统会自动在代码仓中配置 Webhook。你可以在代码仓详情中检查 Webhook 的配置状态。 NetEase

1.2 重置webhook

Webhook 用于允许 ONES 监听代码平台上的特定提交事件。新建关联代码仓后,你可以通过以下方式重新配置 Webhook。

  • 系统自动重置 Webhook 如果 Webhook 失效或被人为删除,你可以点击「重置 Webhook」按钮,系统会自动重置代码仓中的 Webhook。
  • 手工配置 Webhook 点击「手工配置 Webhook」按钮,你可以查看当前代码仓的 Webhook 的配置信息,再进入 Git 平台中手工添加 Webhook。

NetEase NetEase NetEase

1.3 移除关联代码仓

NetEase

2.代码提交关联工作项

团队成员可以在代码提交 (commit message) 的时候通过输入包含工作项 ID 的方式和工作项进行关联。 目前一次代码提交支持与多个工作项同时进行绑定,请在多个工作项 ID 之间添加空格作为分隔,例如“#1 工作项一 #2 工作项二” NetEase

工作项自动关联代码提交及其触发的持续集成数据,以便代码提交数据与项目管理结合。你可以在工作项详情的“代码关联”栏位查看代码关联结果。 NetEase

迭代支持汇总需求已关联的代码提交数据,迭代负责人可以据此跟进开发进展。 NetEase

迭代概览下将汇总统计当前迭代的代码提交情况,帮助迭代负责人评估开发贡献量。 目前支持统计和分析代码提交次数、代码提交次数趋势、代码提交影响行数的情况。 NetEase

3.合并请求关联工作项

想要将「合并请求」记录与工作项绑定,需要先确保,提交「合并请求」的仓库已经集成到ONES系统,如何集成代码仓库参考第一章。

ONES 提供了两种方式实现「合并请求」与工作项的关联:

  1. 在外部系统提交「合并请求」,需要在提交信息的“标题”或者“描述”中按要求填入ONES工作项ID。
  2. ONES 工作项提供发起新建「合并请求」的入口,在ONES系统快速触发新建「合并请求」。

3.1 在外部系统提交「合并请求」

在外部系统提交「合并请求」申请,将要关联的工作项ID ,按“#id” 格式写入到“标题”或“描述”。

一条「合并请求」申请可以支持关联多个工作项,例如一次合并需同时关联多条需求和研发任务,不同的工作项ID之间需用空格分开。 NetEase

3.2 在ONES工作项发起新建「合并请求」

为便于快速关联代码「合并请求」到ONES系统,ONES支持在工作项详情页直接发起新建「合并请求」。 在工作项详情 -> 代码关联标签下,提供一个「新建合并请求」的入口。 NetEase

点击【新建合并请求】,弹出选择代码仓库、源分支、目标分支弹窗,按指引选择要提交代码合并的仓库、分支信息。

可选仓库列表来源「配置中心-代码集成关联」 仓库和分支均支持搜索,源分支与目标分支不能是同一分支 NetEase

配置好仓库与分支,点击【前往仓库】,将会跳转到代码托管平台的申请合并请求的页面,填写标题、描述、评审人等信息完成合并请求的提交。

跳转到第三方时,会将工作项的ID和标题自动填写到描述信息中,如果删除 #ID ,则无法关联到工作项。如果需要关联更多其他工作项,也可以手动填入更多其他 #ID,多ID之间同样空格分开。 NetEase

3.3 查看合并请求关联信息

合并请求关联后,会记录以下字段信息,并支持点击跳转仓库的合并请求详情页。

  • 标题
  • 仓库名/源分支 -> 目标分支
  • 新建/更新时间
  • 评审人
  • 合并请求状态(待合并、合并完成、拒绝/关闭) NetEase