共计 4964 个字符,预计需要花费 13 分钟才能阅读完成。
文章作者:PingCode 根底平台部总监 徐子岩
自 2019 年底开始,研发自动化产品如雨后春笋般呈现。Jira 于 2019 年收买了利用市场中的自动化插件开发商 Code Barrel,并于 2020 年 3 月基于这款插件公布了本人的 Jira Automate。微软也早早公布了 Power Platform 平台下的 Power Automate 自动化产品。同样的,Asana、Clickup 等产品也在近两年陆续推出了本人的自动化产品。
在 2020 年 10 月,咱们 PingCode 团队在调研了市场趋势以及现有客户案例的根底上,正式启动了本人的研发主动换产品 Flow,并于 2021 年 5 月 25 日正式对外公布。
自动化工具可能大幅提高研发团队的开发效率,节俭人工成本,缩小工作失误。在 4 月 12 日至 5 月 12 日的内测阶段,咱们收到了 22 家客户的内测申请。他们在一个月的内测期间共创立了 147 条自动化规定,一共执行了 55094 次,均匀每天就有 1836 条规定运行。如果每条规定人工操作须要 1 分钟,每天就可能节俭约 30 小时的工作量,将近 4 集体日。由此可见,自动化对于研发团队的效率晋升有如许显著。
在上一篇博客中咱们提到,为了可能让研发团队更好的承受自动化工具,须要寻找一款功能强大且易学易用的产品。而 PingCode Flow 作为国内首款研发自动化工具,在这两方面都有相当不错的体现。上面咱们就一起用 5 分钟的工夫,将一个典型的研发场景通过自动化规定实现。同时向您展现 PingCode Flow 的基本功能和根底操作。
场景:为新我的项目启动创立对应的工作
研发线启动一个新的我的项目时,都须要通过我的项目启动的过程。同一家公司或同一个业务线,须要实现的启动工作基本一致。譬如咱们的团队在我的项目启动的时候须要:
- 团队组建与角色调配
- 团队流程与标准的明确
- 代码仓储、服务器资源和流水线的申请
- 代码构造搭建
这就是一个十分典型的重复性工作。因为:
反复执行:每一个我的项目的启动都要创立相似的工作。
无需设计和思考:创立的工作内容都一样。
容易出错:因为人为忽略有可能漏掉某些工作。
那么这样的工作就非常适合通过自动化工具去实现。
接下来,咱们就看一下如何在 PingCode Flow 中实现这个自动化规定。
第一步:抉择一个触发器
触发器
PingCode Flow 中,每一条自动化规定都须要一个事件去触发。这个事件可能是用户在 PingCode Agile 外面设置某个工作项的负责人,也可能是某个成员退出了组织,或者是 Github 上有一个新的 Pull Request 被提交了。
而 PingCode Flow 外面的触发器就对应了这些事件。因而,当咱们布局一条自动化规定时,第一件事就是确定触发的事件是什么,进而抉择与之对应的触发器。
以后的场景是须要在 PingCode Agile 中创立我的项目后,主动创立几个工作项。因而咱们抉择新建规定,创立自动化规定。
为这个新规定取一个名字,接着抉择「创立我的项目」这个触发器,它会在我的项目被创立后启动这条规定。点击「确定」创立。
当初咱们进入了这个规定的编辑界面,在这里咱们将为规定增加所需的操作步骤。
第二步:查看所创立我的项目的类型
在咱们的场景中,不是所有的我的项目在启动后都须要相干的启动工作。咱们只须要对 Scrum 类型的我的项目进行主动操作。因而当规定被触发,也就是一个我的项目被创立后,首先须要检查一下我的项目的类型是不是 Scrum 因而要在规定中增加一个「条件」。
条件
当须要对规定运行时的信息进行判断时,能够应用「条件」。咱们能够设置条件的具体内容,仅当其满足的时候(判断后果为真时),规定才会继续执行;否则,规定将会在此处终止。
针对不同的数据,PingCode Flow 提供了不同的条件。譬如针对一个工作项,能够应用「工作项属性条件」来判断其当前工作项的某个属性是否满足要求。而「子工作项属性条件」会针对当前工作项的子工作项去判断他们的条件是不是满足咱们的要求。
通过编辑界面底部的「增加步骤」,咱们抉择「增加条件」。
因为咱们心愿查看所创立我的项目的类型是不是 Scrum,因而抉择「我的项目属性条件」。
在「我的项目属性条件」的配置中抉择查看我的项目的「类型」,抉择「等于」操作符,比照的值为「Scrum」。
属性类型操作
条件中用户抉择的属性类型不同,可选的比拟操作也不一样。以后的例子中,针对我的项目的类型咱们反对「等于」和「不等于」两个操作。而对于工作项的开始工夫、截止工夫等工夫类型的属性,反对的操作除了「等于」和「不等于」,还有「大于」、「小于」和「介于」等等。而对于工作项负责人、优先级等类型,还有「为空」和「非空」这样的比拟操作。
有了条件这一步,咱们的规定在执行时就会判断以后创立的我的项目是不是 Scrum 类型。只有是 Scrum 我的项目被创立时,后续的步骤才会执行。
第三步:创立一个史诗
在通过方才的「我的项目属性条件」判断后,接下来就是创立一个我的项目启动工作对应的史诗。在编辑界面下方抉择「增加步骤」,而后抉择「增加动作」。
咱们须要在这个我的项目中创立一个史诗,也就是一个工作项。因而抉择「创立工作项」。
接下来,设置这个工作项的相干属性。这里咱们抉择工作项类型为「史诗」。工作项所属的我的项目就是咱们在触发器外面获取的这个新创建的我的项目。因而在「抉择我的项目」的局部,要抉择「来自其它步骤」。
而后在「步骤」处抉择触发器对应的步骤。
咱们的触发器是「创立我的项目」,这个步骤可能提供给咱们的数据(也就是字段)很多。这里咱们须要抉择这个步骤对应的我的项目信息。在「字段」局部抉择「我的项目」。这样,这个工作项就会被创立到触发器触发时创立的那个我的项目外面了。
接下来设置这个工作项的父工作项。因为咱们创立的是一个史诗,因而它没有父工作项,间接抉择「不指定」就好。最初,设置这个工作项的题目和形容。这里咱们间接写「我的项目启动」。
这样,咱们就在规定中实现了第一个动作,也就是工作项的创立。
第四步:在史诗下创立两个个性
下一步,咱们须要在这个史诗下创立两个个性,一个对应我的项目启动中团队和规定的筹备工作,另外一个对应了代码仓储、流水线和根底代码的筹备工作。首先,和下面一样,抉择「创立工作项」这个动作,而后将工作项类型设置为「个性」,所属我的项目仍旧是触发器中的我的项目。
与之前不同的,这个个性要被退出到方才创立的史诗上面。因而这里咱们须要指定它的父工作项「来自其它步骤」,抉择方才的「创立工作项」这个步骤,而后抉择「工作项」这个字段。
最初,填写工作项题目和形容。
这样咱们就实现了第一个个性的创立。接下来实现第二个,也就是和代码仓储流水线申请相干的个性。当然,咱们能够像之前一样,在这个步骤前面再创立一个步骤。然而,这两个个性的创立其实是能够同时执行的。因而,咱们能够在以后步骤后面增加一条分支,在另一个分支上创立这个新的个性。
分支
PingCode Flow 容许在规定中创立分支。一个分支能够同时执行多个步骤,他们之前互不烦扰。位于同一分支的步骤程序执行。
某个分支中的如果有「条件」步骤,那么退出不合乎(判断后果为假),也只会终止以后分支后续的步骤,不影响其它分支的执行。
分支容许合并。合并后的步骤会在所有分支执行结束后再开始执行。
咱们将鼠标放在方才创立的步骤之前的箭头处,会有一个加号符号显示。点击这个加号,抉择「增加分支」。
这时候咱们看到,方才增加的「创立工作项」被移入到左侧分支中,右侧是新的分支和新的步骤。
相似的,咱们增加「创立工作项」这个动作,而后抉择工作项类型为「个性」,属于以后的我的项目且抉择创立的史诗为父工作项,填写工作项题目和形容。
至此,咱们的规定是这样的。
这个规定外面有三个步骤都叫「创立工作项」,别离对应了创立史诗,以及在史诗下创立两个个性。为了不便后续的操作,能够对他们重命名。点击步骤右侧的更多菜单,抉择「重命名」。
重命名后,规定的流程看起来更清晰了。
第五步:个性下创立若干个用户故事
接下来,别离对人员标准和代码流水线这两个个性下创立更具体的用户故事。在分支下增加步骤,须要将鼠标放到分支的最初一个步骤前面,点击加号图标抉择「增加动作」。
抉择「创立工作项」,抉择「用户故事」为工作项类型,指定所属我的项目为触发器对应的我的项目,父工作项为下面刚创立的个性。
填写对应的题目与形容。以同样的办法,咱们创立几个用户故事来对应不同的具体工作。
在「申请代码仓储和流水线」这一步,因为公司对于代码仓储的名字有固定的格局要求,即必须是
@公司名 / 项目编号
因而,咱们在创立这个工作项时,能够依照这个格局要求间接生成仓储的名字并填写到形容中。开展代码仓储申请这个步骤,抉择「形容」局部,点击右侧的「增加动静内容」。
动静内容
规定执行的每个步骤都会波及到数据的获取和设置。PingCode Flow 容许后续的步骤动静援用之前步骤中获取和生成的数据。例如当触发器为「设置工作项负责人」时,这个步骤在执行时就会提供被操作的工作项题目、编号、状态等数据。后续的步骤就能够应用它们。如果咱们增加了「给工作项发评论」这个动作,那么评论的内容就能够援用之前触发器提供的这些数据。
须要留神的是,某个步骤只能援用其之前步骤的产生数据,而不能引用之后的。而且,不能引用另外一个分支内步骤的数据。
其实,不仅是设置工作项题目、形容和公布评论,之前设置工作项我的项目时,从其它步骤获取的我的项目实践上讲也是动态数据。
是否反对动态数据,是一个研发自动化工具灵活性的重要指标;是否用好动态数据,也是是否设计出高效简洁的自动化规定的要害。
而后咱们抉择「创立我的项目」这个步骤里提供的「我的项目标识」这个动态数据,而后欠缺工作项形容。
这样,当规定执行到这个步骤时,假如咱们创立的我的项目标识为「FLOW」,那么这个工作项的形容就是@my-org/FLOW
第六步:发送邮件告诉
最初一步,当所有的工作项都创立结束,也就是说我的项目启动的相干工作都筹备好后,还须要向创立我的项目的这个人,也就是这个规定的触发者发送一封邮件。因为这个步骤要在所有工作项都创立完后执行,也就是说分支合并之后再执行,因而须要点击编辑页面最下部的「增加步骤」,而后抉择「增加动作」。
发送邮件
「发送邮件」这个动作容许向团队成员的邮箱或者任意指定邮箱地址发送一封邮件。邮件的题目和内容由规定设计者指定。这个动作是 PingCode Flow 付费模块之一,须要您购买团队版或企业版。
抉择「发送邮件」,应用动态数据性能增加零碎级的规定触发者为收件人。
编辑邮件题目和内容。留神咱们这里也应用了动态数据。
到此为止,咱们规定的设计工作全副完结,点击右上角的「保留」按钮。
测试:创立新我的项目
上面,测试一下咱们这个规定。切换到 PingCode Agile 模块中,创立一个新的 Scrum 我的项目。
开展需要列表,能够看到我的项目启动相干的工作项都主动创立好了。
关上「申请代码仓储和流水线」这个用户故事,能够看到,形容中曾经为咱们生成好了须要申请的代码仓储名字。
同时,作为我的项目的创建者,也就是这条规定的触发者,咱们也收到了零碎发过来的邮件。
总结
通过简略的六个步骤,咱们就实现了第一条 PingCode Flow 规定,它可能自动化地帮咱们创立我的项目启动所须要的所有工作,以及依照公司规定生成了代码仓储的名字。如果须要,咱们还能够持续丰盛这个规定的内容,譬如为各个工作项设置负责人,增加关注者,生成符合规定的流水线名称和资源名称,为我的项目成员发送揭示等等。
限于篇幅的起因,咱们只是基于这个场景演示了所波及到的 PingCode Flow 基本操作。除此之外,作为管理员,您还能够将规定启用、禁用、复制、导出和导入,以及查看规定执行的历史记录。
如果您是第一次接触研发自动化产品和 PingCode Flow,在手动创立规定之前,我还是强烈建议您浏览一下咱们的规定模板。这些模板都是业内成熟的场景,以及咱们基于本身的开发教训和内测客户反馈创立的规定。置信曾经可能满足您研发团队的一些次要的自动化问题。
最初,心愿 PingCode Flow 可能帮忙您晋升团队的工作效率,进步研发效力,让您的成员把贵重的工夫和精力专一于实现外围的客户价值中。把那些繁琐的、反复的、无聊的工作就交给咱们来解决。
谢谢,