原文地址:https://blog.jetbrains.com/upsource/2017/04/13/automating-your-code-review-workflow-with-upsource/
以下文章是基于原文用翻译工具翻译的:
代码审查工作流的最后 三篇 文章表明,进行代码审查的方法不只一种,而且您采用的方法将取决于您希望通过审查实现的目标以及与您合作的团队类型。
在本文中,我们将介绍Upsource如何通过尽可能多地实现自动化来简化您的工作流程(无论其外观如何)。当可能有用时,我们将展示可以轻松自动化的事物类型,并展示如何实现。
自动创建评审
如果您的工作流程在谁评审代码方面是可预测的,那么您无需手动创建评审并添加评审者,则可以让Upsource为您完成。在此示例中,我们假设您只有一个人,负责检查所有已提交的代码。
脚步:
这是使用“ 定制工作流”实现的。
- 设置图标
-
选择要为其启用自动代码审查的项目,然后单击其“ 编辑项目”按钮。
-
单击页面右侧的“ 定制工作流”链接。
-
在“自动创建评审”标题下,单击启用复选框,然后单击出现的添加触发器按钮。
-
对于我们的特定示例,我们不会输入任何作者或分支/路径信息,我们希望所有作者的所有代码都由我们指定的审阅者进行审阅。您会看到Upsource建议该项目中的所有用户,因此您只需从列表中选择一个即可。
触发自动创建评审图1:配置用于创建评审的触发器
-
保存后,您可以查看触发器的详细信息:
触发已设定图2:查看触发器详细信息
-
下次任何人检入代码时,将自动创建对此提交的代码审阅,以供审阅者审阅:
图3:自动创建的评审
笔记:
默认情况下,这将为每次提交创建一个新的审阅。您可以选择将审阅设置为自动跟踪其所在的分支,这在团队使用功能分支或类似的工作流程时可能是合适的。
05OptionallTrackBranch图4:您可以选择将创建的评审设置为跟踪分支
还有其他选项可以将提交捆绑到特定的审阅中,例如,使用问题ID或代码审阅ID将提交自动添加到审阅中。
适用于:
- 可能用于 网关代码审阅 过程,其中一个人通常会批准对代码的更改,或者有一组审阅者会自动添加到所有审阅中。如果作者通常进行一系列提交,但只希望在代码“完成”时进行审查,则不太适合此过程。
- 可用于设计演变审核,在此工作流程中,您可以选择所有(或大多数)团队要审核的提交。
更改自动分配的审阅者
如果您a)知道将需要哪些开发人员作为审阅者,并且可以选择b)可以基于分支或代码路径分配这些开发人员,则先前的自动化功能非常有用。大多数团队在分配给评审人员方面更加灵活,尤其是当他们遵循迭代方法或使用代码评审进行知识共享时。上游可以从给定的合适开发人员库中分配随机选择的审阅者。
在此示例中,我们将指定一个开发人员池,这些人员可以随机分配以查看任何开发人员的任何代码。
脚步:
-
我们将启用第二个自动化工作流程,以及上一个自动化工作流程。首先,我们需要像上一个示例一样,设置代码审查的自动创建。唯一的区别是这一次我们不分配审阅者(请参见图1 –在第二个示例中,我们不添加审阅者)。
-
在“ 自定义工作流程”部分中,我们需要转到“自动分配评审参与者”标题。在这里,我们单击启用复选框,然后单击出现的添加触发器按钮。
分配审阅者触发器图5 –分配评审参与者自动触发
-
与往常一样,Upsource会为“创建者”和“用户”字段都建议用户。我们将“创建者”字段留空,因为我们希望这适用于所有开发人员。但是您可以想象,如果您希望此工作流程仅适用于初级/新开发人员,则可以将其添加到此框中。
-
我们将为所有代码评审选择一组评审者。这可能只是团队中最资深/最有经验的人,或者如果您的目标是与评审共享代码,则可能是所有开发人员。
-
现在,我们可以选择将池中的每个人都分配为审阅者,或者让Upsource为每个审阅选择一个随机的子集。我们将配置Upsource随机选择一个人,这样审阅者就不会因过多的审阅而超负荷工作,因此每个人都可以看到代码的所有部分。
选择随机审稿人图6 –配置Upsource从池中随机选择一个审阅者
-
点击保存更改按钮。
-
现在,只要有人签入代码,就会自动创建一个审阅,并分配一个随机的审阅者。
评审已创建图7 –创建评审并分配随机评审者
适用于:
- 希望开发人员摆脱孤岛,鼓励他们在常规区域之外查看代码的团队
- 知识共享 –通过为每次提交分配随机审阅者,整个团队最终可以看到整个代码库的更改。
- 迭代设计 –可用于将整个团队分配为每个提交的审阅者或观察者,或者可用于随机选择审阅者。当使用代码审查进行设计演变时,后一种选择可能是减少某些噪声的好方法。
根据发布编号自动将提交添加到审阅
许多团队已经在问题跟踪器中用错误/功能凭单的ID标记了每个提交。如果这是您团队的标准做法,并且您想为每个问题创建一个代码审查,则可以打开Upsource中的功能来为您完成此任务。
脚步:
-
按照第一个示例中的步骤1-3导航到“ 自定义工作流” 页面。
-
转到“将修订自动添加到评审”,然后勾选复选框。和以前一样,单击“ 添加触发器”以定义设置。
创建问题ID触发器图8 –在问题ID上创建触发器
-
别忘了点击“ 保存更改”。
-
您仍然需要为第一次提交创建一个代码审阅,并在注释中包含正确格式的关键字(Jira或YouTrack问题ID或预定义的问题ID格式),除非将其与另一个自动工作流程。但是具有此问题ID的后续提交将添加到该问题的代码审查中。
提交添加到审阅图9 –具有相同问题编号的提交会自动添加到同一评审中
适用于:
- 不使用功能分支但使用问题编号将其提交分组的团队。
- 已经标记了所有提交的问题编号或希望这样做的团队。
- 适用于所有代码审查工作流程。
与GitHub自动集成
这已在以前的博客文章中介绍过。Upsource 与GitHub的双向集成使同步请求请求(评审)和评审变得容易,因此,无论审阅者还是作者更喜欢使用GitHub UI或Upsource,所有信息都可在这两个工具中获得。
适用于:
- 使用GitHub的团队
- 使用GitHub的开源项目,其中外部贡献者使用GitHub UI,内部团队成员可以访问Upsource实例。
摘要
上游有许多选项可帮助您自动执行代码审查工作流。正如有许多工具可以使代码中要检查的例行程序自动化(例如,静态分析工具和自动化测试),这些工具可以用来最大程度地减少代码作者和审阅者的工作量一样,有些方法可以简化创建代码审阅的过程根据您的工作流程。
上述选项之一可能满足您的需要,或者它们的组合可能会覆盖绝大多数需要为您的团队创建代码审查的情况,因此您甚至无需记住创建审查并派人参加。
网友评论