软件开发是一个复杂而多变的过程,涉及到多个角色、工具和环境。为了提高软件开发的效率和质量,自动化工作流是一个重要的手段。自动化工作流是指通过预定义的规则和逻辑,将软件开发的各个阶段和任务自动化地执行和协调,从而减少人为的干预和错误。
具体的价值上,比如自动化工作流可以节省开发人员的时间和精力,让团队专注于核心的业务逻辑和创新,而不是重复性和繁琐的工作,如创建任务、修改状态、通知进度、查找文档等。自动化工作流在某些方面也可以加快软件开发的速度,缩短交付周期,提高客户满意度。除此以外还有保证质量、增强协作、适应变化等等。
总之,自动化工作流是软件开发中不可或缺的一环,它可以带来诸多好处,提升软件开发的水平和竞争力。
为了更好的解决您的这些问题,您可以尝试 PingCode 提供的自动化能力,它通过「发现问题-设计规则-执行规则-衡量效果-提升改进」模式,协助您自定义规则,实现状态自动流转、任务自动指派、自动催办、连接第三方平台等场景。
下面我们将详细介绍 PingCode 自动化在开发过程中的一些应用。
一、8 步开启 PingCode 自动化
PingCode 自动化成为生产力的“倍增器”,帮助产研团队:
- 提高效率:人工转自动化,减少繁琐、重复工作,提升沟通和团队协作效率
- 减少错误:避免了人为失误造成错误和疏忽,让研发工作合规且高效
- 值得信赖:团队成员随时查看工作最新进展,增强团队信任感
- 研发管理:自动化研发团队日常工作,从而专注于创造性的工作
- 高效沟通:及时、准确、自动化通知相关人员,缩减等待时间
- DevOps:集成对接第三方系统工具,实现研发自动化工作流,提高研发效率
- 人员管理:人员变动时,自动添加或删除相关项目、测试库、知识库权限等,缩短人工调整时间
那么,如何将流程自动化?通过以下8步,让 PingCode 帮助您构建自动化工作流程,提升团队协作效率,提升研发效率。
名列前茅步:创建您的自动化规则
自动化工具最主要的作用就是将重复性工作从手动执行变为自动执行,能够大幅提高研发团队的开发效率,节省人工成本,减少工作失误。为此,您可以根据不同的使用场景着手创建您的自动化规则、计划规则、即时规则,创建如下:
1.创建规则
自动化规则
通过自动化规则,您可以通过连接您已经在使用的应用,帮助您摆脱重复性的手工工作,自动化执行任务。
- 进入 PingCode,选择「自动化」;
- 在主界面中,选择「+ 新建规则」,选择「自动化规则」;
- 定义规则名称并选择触发器,配置规则;
- 完成创建。
计划规则
通过计划规则,您可以选择何时以何种频度执行预定义的规则,不受事务性工作的干扰,专注于最重要的工作中。
- 进入 PingCode,选择「自动化」;
- 在主界面中,选择「+ 新建规则」,选择「计划规则」;
- 定义规则名称,选择启动时间并设置规则运行频率和运行时间,配置规则;
- 完成创建。
即时规则
通过即时规则,您可以将一系列操作设置并保存在规则中,使用手动触发器启动并执行。节省每次人为执行这些操作。
- 进入 PingCode,选择「自动化」;
- 在主界面中,选择「+ 新建规则」,选择「即时规则」;
- 定义规则名称并设置触发人,配置规则;
- 完成创建。
Tips:
- 即时规则只允许指定的团队成员进行启动。
- 触发人:设置当前团队有权限执行此规则的成员、部门或用户组。
2. 从模板中创建规则
您可以自己新建规则,也可以从模板中创建规则。当您或团队其他成员在配置自动化规则时,可以直接选择推荐或组织模板,只要稍加修改,就可以快速创建一个新的自动化规则,极大节省配置规则的时间。
3. 从文件导入
当您大量规则要进行复用时发现手动创建效率低下,您可以导入配置好规则的描述文件,将文件批量导入规则库,降低创建成本,快速生成自动化规则。
第二步:可视化配置您的自动化规则
1.自动化构成元素
您可以通过可视化方式,配置您的自动化规则,其中触发器、动作、条件和流程控制是实现自动化的构成元素,您只需将它们组合起来即可完成规则的创建。
触发器
每个规则都以触发器开始,它的作用是启动规则的执行。每一条自动化规则都需要一个事件去触发,您可以输入触发器名称搜索或者通过「连接器」、「分组」筛选不同类型的触发器选择添加。当然您也可以选择定时触发器或者手动触发器,已为您提供94种触发器供您配置规则。
动作
动作是规则的执行者,您可以使用动作自动执行任务,以及在系统内进行更改。自动化规则可以执行的任务有很多,您可以输入动作名称搜索或者通过「连接器」、「分组」筛选不同类型的动作选择添加,然后设置动作数据类型。当步骤条件满足时,规则会执行后续步骤。已为您提供157种动作供您配置规则。
条件
您可以利用条件来缩小规则的范围。您可以输入条件名称搜索或者通过「连接器」、「分组」筛选不同类型的条件选择添加,然后设置条件数据类型。当满足您设置的条件,规则会执行后续步骤;当不满足您设置的条件,规则将停止运行,系统也不会执行符合此条件的操作。已为您提供18种条件供您配置规则。
流程控制
您可以通过并行、判断、条件、循环、逐个五种方式来控制流程中各语句执行顺序,可以把语句组合成能完成一定功能的逻辑模块。
2.自动化规则示例
研发管理示例:自动设置工作项负责人
背景:在研发过程中,每⼀项工作都需要有明确的负责人。这样不仅能够明确责任,同时也能客观的展示出目前工作的进展状况。但是,无论是成员粗心,还是项目紧任务重,经常会出现进行中的工作项没有对应负责人。
解决方案:您可以设置规则自动将当前操作者设置为「进行中」的工作项负责人。
配置:
Tips:如需限制项目,在触发器后添加「工作项属性条件」并选择项目属性为特定的项目。
- 【选择触发器】新建自动化规则,点击「+新建规则」,选择「自动化规则」并填写规则名称「自动设置工作项负责人」,您可以输入「创建工作项」名称搜索,选择「创建工作项」触发器,点击「确定」创建。
- 【添加条件】判断当前工作项的负责人是不是处在未设置状态,通过编辑界面下方选择「添加条件」,通过「连接器」筛选出「工作项属性条件」,在「工作项属性条件」的配置中选择属性为「负责人」、操作为「为空」。
- 【添加动作】工作项属性条件判断后,接下来就是设置需求负责人,在编辑界面下方选择「添加动作」,您可以输入「设置需求负责人」名称搜索,选择「设置需求负责人」,在「设置需求负责人」配置中选择操作为「分配负责人」、数据为「系统数据」、字段为「规则触发者」。
通过如此简单的三个步骤,您就完美的解决了「团队成员忘记设置负责人」这个问题。
高效沟通示例:通知被阻塞工作项
背景:在研发团队以及团队间的沟通协作中,不可避免某些任务必须等待其它任务的完成后才能开始。如何能够及时、快速同步工作进度、结果,这不仅影响产研的效率,也影响着客户满意度和公司营收。
解决方案:您可以通过配置规则在工作项状态变更为已完成后,自动查找其被阻塞的工作项并发布评论,通知到被阻塞的工作项负责人尽快开始后续任务。
配置:
- 【选择触发器】新建自动化规则,点击「+新建规则」,选择「自动化规则」并填写规则名称「通知被阻塞工作项」,您可以输入「变更工作项状态」名称搜索,选择「变更工作项状态」触发器,点击「确定」创建。
- 【添加动作】在编辑界面下方选择「添加动作」,您可以输入「获取关联工作项」名称搜索,选择「获取关联工作项」,在「获取关联工作项」配置中选择关联类型为「阻塞」。
- 同上添加动作步骤,选择「给工作项发布评论」,添加动态内容。向这些工作项发送⼀条评论,告知负责人和关注者,阻塞的工作项状态已经发生变化了。
通过启用该规则后,团队成员无需手动提醒后续任务的负责人,团队管理者也不用花时间每天检查相关的进度。团队的协作和沟通都会自动、及时并且准确无误的执行。
Devops示例:GitHub Pull Request Review 状态变更后自动通知对应工作项相关人员
背景:研发团队在流程化之外,还有大量的工程化工作,也就是我们常说的DevOps 相关的工作。这就意味着研发人员需要在代码托管平台、项目管理、IM等工具频繁的切换,效率极其低下。比如,Code Review 是每⼀个追求质量的研发团队必不可少的工作。但是,如何高效在同一个平台告知相关信息是每个团队面临的一大挑战。
解决方案:开发团队针对某个工作项进行Code Review时,当此Pull Request Review状态发生变化,通过配置规则Pull Request名或源分支名包含「#工作项编号」查找对应的工作项,发送评论提示Code Review状态变更。
配置:
- 【选择触发器】新建自动化规则,点击「+新建规则」,选择「自动化规则」并填写规则名称「GitHub Pull Request Review 状态变更后自动通知对应工作项相关人员」,您可以输入“变更”搜索,选择「变更GitHub Pull Request Review 状态」触发器,点击「确定」创建。
- 【流程控制】在编辑界面下方选择「流程控制」的「并行」添加2条分支。
- 【添加动作】在名列前茅条分支编辑界面下方选择「添加动作」,您可以输入“通过编号”进行搜索,选择「通过编号获取多个工作项」,在「通过编号获取多个工作项」配置中选择来源为「来自其他步骤」、步骤为「S1变更GitHub Pull Request Review状态」、字段为「Pull Request标题」。
- 第二条分支同上添加动作步骤,不同的是字段选择为「Pull Request源分支名字」。
在编辑界面下方选择「添加动作」,您可以输入「给工作项发布评论」名称搜索,选择「给工作项发布评论」,添加动态内容。向这些工作项发送⼀条评论,告知负责人和关注者,Pull Request Review状态发生变化。
通过以上规则,简化了研发团队在Code Review的过程中操作流程,使沟通更加的顺畅,同时让工作项的状态及时反映真实的开发状态。
人员管理示例:自动将新成员加入指定空间
背景:随着研发团队的扩大,知识库管理沉淀了很多项目PRD文档、开发规范文档以及其他文档。然而每当团队迎来新成员的时候,团队负责人需要手动将其加入到项目的知识库中,虽然每次的操作时间可能不会太久,但是却是⼀个繁琐的工作,而且⼀旦有错漏,会造成新成员无法在第⼀时间获得信息,甚至对团队和组织的正规性产生怀疑。
解决方案:您可以通过配置规则将新成员加入团队后,自动加入到指定的知识空间。
配置:
- 【选择触发器】新建自动化规则,点击「+新建规则」,选择「自动化规则」并填写规则名称「自动将新成员加入指定空间」,您可以输入”成员“搜索,选择「成员加入团队」,点击「确定」创建。
- 【添加条件】通过编辑界面下方选择「添加条件」,您可以输入「成员属性条件」名称搜索,选择「成员属性条件」属性为「团队」、操作为「包含」、对象为「指定团队」、团队为「开发产品组」。
- 【添加动作】在编辑界面下方选择「添加动作」,您可以输入「成员加入空间」名称搜索,选择「成员加入空间」,在「成员加入空间」配置中选择数据为「指定空间」、空间为「产研管理」。
以上几步就能让新成员名列前茅时间了解整个团队的情况,迅速的融入团队中。
第三步:跟踪您的自动化规则运行情况
当配置好 Flow 规则之后,您一旦触发该规则,系统就会生成运行时长和状态的记录。如果运行失败,您可以可通过查看记录详情快速定位问题,修改配置。
第四步:规则模板,开箱即用
到此为止,您已经对 Flow 有了一些了解并且可以尝试在团队中使用。您可以浏览一下目前系统推荐的模板,这些模板能够帮助您有针对性的创建一些规则。在初次向团队引入自动化工具时,您可以从模板中的场景开始,逐步推进。
场景示例:当您工作项出现变动时,消息自动转发,及时通知相关人员工作项变更。您可以通过自定义自动化规则,按需要修改工作项属性、发送通知,定制化通知内容。
为便于理解,业务场景举例如下:
第五步:分组分类管理自动化规则
您可以使用自动化类别来帮助您把规则组织到不同的分组中。以后,在查看所有自动化规则的列表时,您可以对列表中的规则进行排序、搜索和分组。您也可以给规则类别添加Emoji表情,让您的工作更加的轻松有趣。
第六步:规则管理更多操作
您可以对创建的所有规则进行统一管理,首页的列表视图可以清晰看到每个规则的标题、类型、类别、状态、创建人、更新人和最后运行时间,您也可以对规则的重新编辑、导出、保存为模板、复制、启用、删除等操作。
第七步:连接团队工具
您可以通过自动化建立与 PingCode 其他模块的关联,如产品管理、项目管理、测试管理、知识管理、协作空间、系统、通知、通用等,将更多的手动场景变为自动化执行,提高团队工作效率。
第八步:外部连接器
在连接 PingCode 现有子产品的同时,您可以通过自动化连接第三方自定义应用。如GitLab、GitHub、HTTP、Jenkins、办公邮件等。将自动化的范围扩展至研发全链路,减少用户在多个工具间来回切换的时间成本和沟通成本。
1.连接GitLab
您可以通过GitLab连接器接入GitLab,接入方式详见 配置说明 。当您在GitLab上创建分支、提交以及合并Merge Request等操作的时候会自动触发规则,同时您可以在GitLab 上仓储、分支、 Merge Request 等操作。
示例:PingCode 项目管理中创建“任务”时,自动在GitHub/GitLab中创建分支。
Tips:
PingCode研发团队在使用的GitLab规则如下:
Step1:开发任务变为“开发中”时创建GitLab分支;
Step2:创建GitLab分支自动评论相关工作项;
Step3:创建GitLab MR自动设置工作项为CR状态;
Step4:评论GitLab MR自动通知对应工作项;
Step5:合并GitLab MR自动更新工作项状态;
Step6:设置工作项待发布自动触发构建;
Step7:完成构建自动更新工作项为已发布;
Step8 :变更版本状态自动构建并通知。
2.连接Jenkins
您可以通过Jenkins连接器接入Jenkins,当Jenkins Job 状态发生变化时触发规则,以及启动Jenkins Job。
示例:在Jenkins Job构建失败时,通知项目成员。
在Jenkins Job构建成功时,更新工作项状态。
二、向团队介绍PingCode自动化
通过以上内容,是时候将 PingCode 自动化工具介绍给您的团队啦。
- 定位:PingCode 自动化能够帮助企业构建自动化研发工作流,通过自定义规则让重复性工作自动执行,规范研发流程,轻松串联内、外部系统,您的团队就能有更多的时间和精力去接手更大的项目
- 能力:
- 效率提升:通过工时统计等方式计算自动化工具节省的时间。
- 功能强大,简单易用:无需大量的学习成本和设置工作,能够通过交互式的方式快速创建和编辑适用于自己团队的规则。
- 无代码,可视化:无需开发,通过可视化的操作就可以完成规则流程的设置。
- 安全:PingCode 自动化严格遵循数据安全相关政策,具备国际信息安全体系认证、数据加密和备份、账号保护等措施,能够全方位保障您所在组织的信息安全。
- 部署:PingCode 自动化支持多种部署方式,包括公有云、私有云及本地部署;其中SaaS版本可以按需购买账号,专业团队提供运维保障服务,两周一次的版本迭代更加轻量、低成本、易维护。
- 服务:PingCode 自动化正在服务着众多一线企业的各类团队,PingCode更是拥有服务上万成员规模企业的经验和能力,除了更懂国内产研模式之外,还拥有更加完备且及时、有效的客户服务体系。
参考: https://blog.pingcode.com/5fen-zhong-dai-ni-wan-zhuan-pingcode-flow/