跳到主要内容
版本:7.33

私有Bitbucket

通过代码关联集成 私有 Bitbucket,将代码提交和 Project 模块结合使用。

1.仓库集成配置​

1.1 新建关联代码仓​

注意:

  1. 关联私有 Bitbucket 前,请确保 ONES 系统和贵司 Bitbucket 网络能互联互通。
  2. 推荐使用 Bitbucket 6.0 以上版本,低于6.0版本不保证完全支持。

启用「代码集成」应用后,前往配置中心-代码集成配置进行代码仓库的关联,点击「新建关联代码仓」以关联当前团队所需私有 Bitbucket代码仓

私有Bitbucket

在「新建关联代码仓」弹窗中,选择「私有 Bitbucket」代码仓类型,点击「新建认证」按钮新建私有 Bitbucket 认证。

私有Bitbucket

在「认证私有 Bitbucket」弹窗中,填写私有 Bitbucket URL,请根据你的 Bitbucket 服务地址填写。

私有Bitbucket

选择认证方式。你可以选择「用户名+密码」或者「Token」两种方式进行认证。请确保你填写的用户名或 Token 在Bitbucket 服务中至少具有以下权限:Project 下 Read 权限,Repository 下 Admin 权限。

私有Bitbucket

如需通过Token 方式进行关联,需要登录Bitbucket,在Account中配置Personal access tokens.

私有Bitbucket

填写完信息后即可提交认证,系统将检查认证是否有效,若有效即认证添加成功。回到「新建关联代码仓」弹窗,可以选择需要添加关联的代码仓。(可选代码仓取决于认证用户可见代码仓)。点击确定后即完成代码仓关联。

私有Bitbucket

1.2 重置Webhook​

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

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

私有Bitbucket

私有Bitbucket

1.3 移除关联代码仓​

如果不需要再获取某代码仓的代码提交数据,你可以移除关联此代码仓。 移除关联代码仓不影响历史已获取的代码提交数据。

私有Bitbucket

2.代码提交关联工作项​

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

私有Bitbucket

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

私有Bitbucket

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

私有Bitbucket

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

私有Bitbucket

3.合并请求关联工作项​

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

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

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

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

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

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

私有Bitbucket

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

为便于快速关联代码「合并请求」到ONES系统,ONES支持在工作项详情页直接发起新建「合并请求」。

在工作项详情 -> 代码关联标签下,提供一个「新建合并请求」的入口。

私有Bitbucket

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

可选仓库列表来源「配置中心-代码集成关联」

仓库和分支均支持搜索,源分支与目标分支不能是同一分支

私有Bitbucket

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

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

私有Bitbucket

3.3  查看合并请求关联信息​

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

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

私有Bitbucket

4.代码分支关联工作项​

新建代码分支是编码开发流程中的重要环节,通过关联分支,不仅可以与工作流联动,还能记录开发事件,打通业务管理与开发实践。

目前支持用户在 ONES 的工作项内快速新建代码分支,将分支信息与工作项关联。

1.仓库分支与ONES工作项关联的前提,需要将该仓库集成到ONES系统(如何集成代码仓库请参考第一章节)

2.工作项详情-> 代码关联标签下,增加【代码分支】模块,并提供「新建分支」的操作入口。

私有Bitbucket

3.点击「新建分支」按钮,弹出新建分支窗口

  • 填写新建分支的名称(分支名长度限制50个字符)
  • 选择新建分支的仓库以及源分支
  • 点击确认即可新建分支

私有Bitbucket

4.新建分支后,工作项会记录该分支信息,点击分支即可跳转到外部仓库管理工具,查看分支详情。

5.记录的分支信息字段如下:

  • 代码仓库/分支名称
  • 创建人
  • 创建时间

私有Bitbucket

5.代码开发事件自动触发工作项状态流转​

5.1 触发器说明​

当开发人员执行代码提交、创建代码分支、创建合并请求等操作时,触发器会自动将其关联的工作项的状态进行流转,而不需要开发人员手动去更改工作项状态,提高开发人员工作效率。

支持的代码开发事件触发器如下:

触发器名称触发器定义支持的工具
新建代码分支当工作项关联的代码分支被新建成功时,自动触发工作项状态变更GitHub、公有GitLab、私有GitLab、私有Bitbucket
新建合并请求当工作项关联的代码合并请求被新建成功时,自动触发工作项状态变更GitHub、公有GitLab、私有GitLab、私有Bitbucket
合并请求通过当工作项关联的合并请求状态变更为通过时,自动触发工作项状态变更GitHub、公有GitLab、私有GitLab、私有Bitbucket
合并请求被关闭当工作项关联的合并请求状态变更为失败或者被关闭时,自动触发工作项状态变更GitHub、公有GitLab、私有GitLab、私有Bitbucket
关联代码提交当代码提交信息与工作项关联成功时,自动触发工作项状态变更GitHub、公有GitLab、私有GitLab、私有Bitbucket、SVN

5.2 配置工作流触发器​

安装「代码集成」应用并在「配置中心」-「代码集成配置」中关联代码仓库后,可以在「项目设置」-「工作项类型」-「工作项工作流」-「编辑步骤」配置中找到「触发器」功能,选择并添加触发器。

  • 每个工作流的步骤可配置多个触发器,触发任意一个,状态变更会自动执行;
  • 被触发器自动化执行的状态变更会忽略「步骤验证」和「步骤属性」的校验,但「后置动作」会被正常执行。

私有Bitbucket

5.3 触发器常见问题​

  1. 无法添加触发器的原因是什么?
  • 未安装「代码集成」应用时,无法添加代码开发事件的触发器;
  • 如果当前步骤已经添加了某个触发器,则不能重复添加;
  • 同一个工作项类型,如果状态A到状态B的步骤已经配置了某个触发器,则状态A到其他状态的步骤不能重复添加该触发器,是为了防止当某个触发事件发生时,系统无法判断应该从状态A流转到哪个状态。
  1. 配置触发器后,工作项状态没有流转到预期的目标状态,可能的原因是什么?
  • 代码仓是否已关联ONES系统,在未关联的代码仓库中操作无法关联到ONES工作项,从而无法触发工作项状态变更
  • 如果流转到目标状态后刚好满足某个流程自动化规则的触发条件,会导致工作项状态进一步流转到其他状态