【前沿技术RPA】 一文了解UiPath的代码审查工具Workflow Analyzer

news2025/7/22 16:29:42

🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。
🐬个人主页:会敲键盘的肘子
🐰系列专栏:UiPath
🦀专栏简介:UiPath在传统的RPA(Robotic process automation)的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。
🐶座右铭:总有一天你所坚持的会反过来拥抱你。


在这里插入图片描述

🌈写在前面:

Workflow Analyzer使用配置的规则集检查项目或工作流是否存在不一致而不执行项目。它记录在规则操作(错误、警告、信息或详细)下的Error List面板中找到的错误。这些规则基于UiPath Automation最佳实践。


👉本文关键字:RPA、UiPath、Low-code、No-code、Workflow Analyzer、.Net

文章目录

      • 1️⃣ 背景
        • ♈ 什么是RPA
        • ♉ 什么是UiPath
        • ♊ 为什么使用UiPath
        • ♋ 环境
        • ♌ 本文收获
      • 2️⃣ 介绍 Workflow Analyzer
        • ♈ What
        • ♉ Why
        • ♊ How
          • ⭐ 运行前强制分析器
          • ⭐ 发布前强制分析器
      • 3️⃣ 规则类别
        • ♈ 命名规则
        • ♉ 设计最佳实践
        • ♊ 项目剖析规则
        • ♋ 可读性和可维护性
        • ♌ 去除不使用的变量或依赖
        • ♍ 性能和可重用性
        • ♎ 可靠性
        • ♏ 安全性
      • 4️⃣ 规则组成
        • ♈ 规则组成
          • ⭐ ID
          • ⭐ 建议
          • ⭐ 名称
          • ⭐ 范围
          • ⭐ 默认操作
          • ⭐ 可编辑属性
        • ♉ 导出Workflow Analyzer结果
      • 5️⃣ 进阶
        • ♈ 命令行支持
        • ♉ 生成自定义规则
        • ♊ Governance
      • 6️⃣ 参考资料

1️⃣ 背景

♈ 什么是RPA

RPA(Robotic process automation) 代表机器人过程自动化

它是一种软件程序,可在与计算机应用程序交互时模仿人类行为并实现重复的、基于规则的流程的自动化。

♉ 什么是UiPath

UiPath 是一种机器人流程自动化工具,用于自动化枯燥和重复的任务。它由罗马尼亚企业家 Daniel Dines 和 Marius Trica 于 2005 年创立。它还消除了自动化无聊任务的人工干预,并为所有活动提供了拖放功能,它是最简单的 RPA 工具。

♊ 为什么使用UiPath

UiPath在传统的RPA的基础上,增加了See(AI通过计算机视觉阅读用户的计算机屏幕)和Think(通过机器学习来发现平台能够为用户构建什么自动化流程)从而不断帮助用户自动化构建流程,而不仅仅是用户自主发现,自主构建。并且在构建的过程当中,做到了Low-code甚至是No-code的程度,让每一位员工都可以自主使用。

♋ 环境

  • UiPath Studio Community 2022.4.3

  • Windows 10

  • .Net

♌ 本文收获

  • 解释什么是Workflow Analyzer及其工作原理。

  • 描述Workflow Analyzer规则类别和组件。

  • 了解如何导出分析结果。

  • 执行项目分析,以检查验证错误以及工作流分析器中设置为规则的任何质量和可靠性标准。

  • 使用“Error List”面板查找工作流中的错误,并使用说明和其他资源来解决这些错误。

  • 编辑工作流分析器规则。

  • 运行工作流/项目分析以识别和解决错误和警告。

  • 根据项目要求查找并编辑工作流分析器规则。

  • 找到并运行UiPath Studio命令行。

  • 如何使用Workflow Analyzer为自动化项目构建自定义规则和实施策略。

2️⃣ 介绍 Workflow Analyzer

♈ What

Workflow Analyzer是一个静态代码分析器,可确保您的项目符合高质量和可靠性标准。

触发时,Workflow Analyzer使用配置的规则集检查项目或工作流是否存在不一致而不执行项目。它记录在规则操作(错误、警告、信息或详细)下的“Error List”面板中找到的错误。这些规则基于UiPath Automation最佳实践。

使用工作流分析器,您可以:

  • 编辑、禁用和启用Studio中的规则。

  • 在文件或项目级别运行验证或验证和分析。

  • Error List面板中管理错误和警告。

  • 使用UiPath.Activities.Api包生成自定义规则。

  • 将工作流分析与CI/CD管道配置中的预构建和/或自定义规则集成。

♉ Why

Workflow Analyzer在项目开发中起着核心作用。Workflow Analyzer是一种工具,用于确保您的项目遵循最佳实践,从而确保更高的质量、可靠性和可读性。还用于使用基于文件的治理和UiPath Automation Ops强制实施治理策略。

♊ How

通过单击“设计”功能区选项卡中的“分析文件”下拉菜单,可以访问“工作流分析器”选项。运行工作流分析需要两个步骤。Analyzer首先运行工作流验证(检查编译错误),只有在通过后,它才分析(检查是否违反定义的工作流分析器规则)工作流。

在这里插入图片描述

Workflow Analyzer基于规则工作,每个规则都有一个基于其关键性的默认操作级别。每个规则的操作级别可以设置为error、warning、info或verbose。如果工作流分析器在分析过程中遇到错误级别漏洞,可以将其配置为阻止发布或运行流程。

Workflow Analyzer可以通过两种方式实施:

⭐ 运行前强制分析器

此选项在运行或调试工作流文件之前运行工作流分析器,并使用错误操作检查所有规则。仅当未发现错误时,它才允许执行工作流。

⭐ 发布前强制分析器

此选项在发布工作流文件或项目之前运行工作流分析器。它检查所有已启用的规则,无论其操作如何,并且仅在操作Error没有违反规则时才允许发布。

要启用这些选项之一,请访问“主页”>“设置”>“设计”。

在这里插入图片描述

3️⃣ 规则类别

在分析阶段,将根据适用于Studio的一组预定义规则检查项目。目前,有八个规则类别:

♈ 命名规则

此类别中的规则在其ID中包含NMG代码。此类别检查文件或项目是否存在与命名相关的任何不一致。

以下是规则列表:

在这里插入图片描述

♉ 设计最佳实践

此类别中的规则在其ID中包含DBP代码。此类别指的是确保您的项目符合一组常规最佳实践的要求。

以下是规则列表:

在这里插入图片描述

♊ 项目剖析规则

此类别中的规则在其ID中包含ANA代码。此类别中的规则确保您的项目符合剖析学方面的一般要求。

以下是规则列表:

在这里插入图片描述

♋ 可读性和可维护性

此类别中的规则在其规则ID中包含MRD代码。此类别中规则要求项目易于理解,以确保可维护性。

以下是规则列表:

在这里插入图片描述

♌ 去除不使用的变量或依赖

此类别中的规则在其ID中包含USG代码。此类别中规则指的是确保实际使用项目中定义的元素的要求。

以下是规则列表:

在这里插入图片描述

♍ 性能和可重用性

此类别中的规则在其ID中包含PRR代码。此类别中规则检查文件或项目是否存在与性能和重用性相关的任何不一致。

以下是规则列表:

在这里插入图片描述

♎ 可靠性

此类别中的规则在其ID中包含REL代码。此类别中规则检查文件或项目是否存在与可靠性相关的任何不一致。

以下是规则列表:

在这里插入图片描述

♏ 安全性

此类规则的ID中包含SEC代码。此类规则检查文件或项目是否存在与安全相关的任何不一致。

以下是规则列表:

在这里插入图片描述

此外,某些活动包(如Excel、Mail、Testing和UI Automation)将带有自己的工作流分析器规则。当您的工作流使用这些活动包时,将自动添加这些规则。

4️⃣ 规则组成

每个规则都有一个ID、名称、描述、建议、范围和默认操作。某些规则具有可编辑属性。

让我们快速了解一下规则的每个组成部分。

♈ 规则组成

⭐ ID

包含原点、类别和编号。

在这里插入图片描述

⭐ 建议

包含有关如何改进工作流的建议,以及指向此规则的文档页的链接。

在这里插入图片描述

⭐ 名称

这是规则名称。在本例中,它是多个流程图层。

在这里插入图片描述

⭐ 范围

指规则适用的级别。在“活动”级别(如“活动名称默认值”)、工作流级别(如未使用的变量)或项目级别(如不使用的依赖项)强制执行规则。

在这里插入图片描述

⭐ 默认操作

规则有许多操作,可以设置为“错误”(在“错误列表”面板中生成错误)、“警告”(在错误列表面板中生成警告)、“信息”(在出错列表中生成消息)、“详细”(创建大型日志文件)。

在这里插入图片描述

⭐ 可编辑属性

某些规则具有可以修改的属性,例如更改多个流程图层的层计数、更改变量命名约定的Regex或更改变量名称允许的最大字符数。

在这里插入图片描述

请注意,如果您已更改任何默认参数并希望恢复,请右键单击所选规则并选择“重置为默认值”选项。

♉ 导出Workflow Analyzer结果

您可以配置Studio将每个工作流分析的结果导出到项目文件夹。Studio Backstage View > Settings > Design并启用导出分析器结果选项。

启用此选项后,每个工作流分析的结果将以JSON格式保存在\.local\.analysis\ 项目文件夹的子文件夹。该文件将包含有关每个已启用规则的以下信息:

  • 规则ID

  • 规则名称

  • 参数

  • 严重程度

  • 错误说明

注意:.local文件夹是隐藏的。您可以从Windows文件资源管理器设置中查看隐藏的项目。

在这里插入图片描述

5️⃣ 进阶

现在让我们实践,以更好地了解如何在Studio中使用Workflow Analyzer。

♈ 命令行支持

UiPath.Studio.Command行。exe命令行用户界面包含一组参数,用于根据特定规则检查文件或项目,即使在CI/CD管道配置中也是如此。

UiPath.Studio.Command行。exe在安装文件夹中可用:

  • 对于Windows Installer(.msi)版本的Studio,默认路径为C:\Program Files(x86)\UiPath\Studio\

  • 对于以用户模式(.exe)安装的Studio,默认路径为%LocalAppData%\UiPath\[Studio_version]\

访问下面的文档链接以了解有关使用命令行运行工作流分析的更多信息。

♉ 生成自定义规则

工作流分析器以其现成的形式提供了一套广泛的规则。但是,如果预定义规则未涵盖您团队的需求,您可以选择构建自定义规则。

要构建自定义规则,需要UiPath.Activities。来自官方源的Api包。与自定义活动一样,自定义规则是在IDE中构建的。它们可以在全局或项目级别集成到Studio中。

要开始,请访问关于构建自定义规则的UiPath Studio指南页面,并按照示例构建第一个规则。

♊ Governance

Governance在确保Studio用户遵守开发标准并通过执行策略遵守某些规则方面发挥着重要作用。治理的主要功能之一包括使用WorkflowAnalyzer规则来强制执行策略。

示例:通过在工作流分析器中配置App/URL限制规则,可以确定允许哪些应用程序和URL用户自动执行。

作为治理策略的一部分,组织可以使用以下两种方式之一,以集中的方式在所有项目中实施与其需求相关的自定义规则:

  • UiPath Automation Ops:自动化云中提供的基于web的应用程序,用于创建和部署治理策略。

  • File-based Governance:创建一个JSON策略文件,并在本地、外部或通过Orchestrator部署该文件。

6️⃣ 参考资料

Workflow Analyzer

Building Custom Rules


⭐写在结尾:

文章中出现的任何错误请大家批评指出,一定及时修改。

希望写在这里的小伙伴能给个三连支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]java毕业设计企业员工管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Azdio-PEG-Maleimide,N3-PEG-MAL,叠氮-PEG-马来酰亚胺化学试剂供应

1、名称 英文:Azdio-PEG-Maleimide,N3-PEG-MAL 中文:叠氮-聚乙二醇-马来酰亚胺 2、CAS编号:N/A 3、所属分类:Azide PEG Maleimide PEG 4、分子量:可定制,N3-PEG 20k -MAL、N3-PEG 10k -MAL…

EFK部署centos7.9(四)Filebeat 部署

下载安装包 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-linux-x86_64.tar.gz tar xzvf filebeat-6.5.4-linux-x86_64.tar.gz -C /usr/local/ 解压安装包 cd /usr/local/ mv filebeat-6.5.4-linux-x86_64 filebeat cd filebeat/ mv filebe…

Springboot导出Excel,支持大数据量

1、添加maven依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version> </dependency> 2、ExcelUtil工具类 import org.apache.poi.ss.usermodel.Cell; import org.…

【附源码】Python计算机毕业设计天气预报APP

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

甘露糖-聚乙二醇-炔基|mannose-PEG-Alkyne|炔基-PEG-甘露糖

甘露糖-聚乙二醇-炔基|mannose-PEG-Alkyne|炔基-PEG-甘露糖 中文名称&#xff1a;甘露糖-炔基 英文名称&#xff1a;mannose-Alkyne 别称&#xff1a;炔基修饰甘露糖&#xff0c;炔基-甘露糖 mannose-PEG-Alkyne 甘露糖-聚乙二醇-炔基 炔基-PEG-甘露糖 纯度&#xff1a;…

统一网关Gateway、路由断言工厂、路由过滤器及跨域问题处理

目录 一、搭建网关服务 二、路由断言工程Route Predicate Factory 三、路由过滤器 四、全局过滤器GlobalFilter 过滤器执行顺序 五、跨域问题处理 一、搭建网关服务 网关的作用&#xff1a; 对用户请求做身份认证&#xff0c;权限校验 将用户请求路由到微服务&#xff0…

吴恩达机器学习课程笔记二

文章目录神经网络基础知识神经网络前向传播伪代码前向传播中单个神经元的作用矩阵加速运算训练模型的细节常用激活函数ReLUSigmoidLinear activation functiontanh选择激活函数选择输出层的激活函数选择隐藏层的激活函数为什么需要非线性激活函数Softmax激活函数多标签分类问题…

Metabase学习教程:提问-2

查询编辑器中的自定义表达式 何时应该使用自定义表达式&#xff0c;以及为什么要在Metabase的查询编辑器中利用它们。 在数学中&#xff0c;表达式是符号的集合&#xff0c;它们一起表示一个值。如果你以前使用过电子表格软件&#xff0c;表达式就是公式&#xff0c;比如SUM&…

从安装python到使用opencv进行人脸检测

一、python与PyCharm的安装 1.python主要有三种安装方式 参考自&#xff1a;2、Python安装 - 哔哩哔哩 Python安装教程&#xff08;2022最新&#xff09;_北京精神病康复中心的博客-CSDN博客 python下载官网&#xff1a;Python Releases for Windows | Python.org 1&#…

EDI系统如何恢复历史映射关系?

在知行之桥EDI系统中&#xff0c;由XML Map端口来处理不同 XML 之间的映射关系&#xff0c;主要的功能为&#xff1a;通过鼠标拖拽建立关系映射&#xff0c;将输入的源XML文件转换为目标XML文件。 XML Map端口的基本设置为&#xff1a; 源文件&#xff1a;配置源XML文件的模板…

【Java篇】备战面试——你真的了解“数组”的吗?

目录 数组概念 声明数组 数组默认值 数组拷贝及数组类型VS基本类型 Arrays类 二维数组 数组概念 在JAVA语言中数组是一种数据结构&#xff0c;是用来存储同一类型数据的集合或者序列&#xff0c;我们可以通过整型下标&#xff08;index&#xff0c;异或索引&#xf…

Centos7 docker搭建onlyoffice

注意&#xff1a;本文的命令使用的是 root 用户登录执行&#xff0c;不是 root 的话所有命令前面要加 sudo 一、安装docker 1、更新 yum 包&#xff08;使用 root 权限&#xff0c;生产环境中此步操作需慎重&#xff09; yum -y update yum -y update 升级所有包同时也升级软…

Set接口和常用方法

Set接口基本介绍 无序&#xff08;添加和取出顺序不一样&#xff09;&#xff0c;没有索引不允许重复元素&#xff0c;所以最多包含一个nullSet接口的常用方法和List一样&#xff0c;Set接口也是Collection的子接口&#xff0c;因此&#xff0c;常用方法和Collection接口一样 …

【C++】类与对象基本知识 (构造 析构 拷贝 explicit 对象数组 动态静态对象)

目录 1.类与对象基本概念 2.构造函数 3.析构函数 4.构造和析构函数调用顺序 5.拷贝构造函数 6.浅拷贝和深拷贝 7.初始化列表 8.explicit防止构造函数隐式转换 9.对象数组 10.动态对象 10.1 动态对象创建 10.2 动态对象数组 11.静态成员 11.1 静态成员变量 11.2 …

Java学习笔记(三)

Java学习笔记(三) 文章目录Java学习笔记(三)1 常用API1.1 类 Math1.1.1 abs1.1.2 ceil和floor1.2 System1.2.1 exit()1.2.2 currentTimeMillis()1.2.3 arraycopy()1.3 Runtime1.4 Object1.4.1 System.out.println底层原理1.4.2 equalsString类重写的equals方法1.5 对象克隆1.5.…

代码随想录训练营第24天|回溯算法理论基础、LeetCode 77.组合

参考 代码随想录 回溯算法理论基础 什么是回溯算法 回溯算法实际上一个类似枚举的搜索尝试过程&#xff0c;主要是在搜索尝试过程中寻找问题的解&#xff0c;当发现已不满足求解条件时&#xff0c;就“回溯”返回&#xff0c;尝试别的路径。回溯法是一种选优搜索法&#xf…

基于Matlab仿真极化双基地雷达系统以估计目标的范围和速度(附源码)

目录 一、系统设置 二、系统仿真 三、使用圆极化接收阵列 四、总结 五、程序 此示例演示如何仿真极化双基地雷达系统以估计目标的范围和速度。发射器、接收器和目标运动学被考虑在内。 一、系统设置 该系统以 300 MHz 的频率运行&#xff0c;使用线性 FM 波形&#xff0…

1526_AURIX TC275 BootROM下

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这个是固件启动的流程介绍&#xff0c;在启动的过程中&#xff0c;HSM的RAM必然会被初始化掉。这个之前倒是没有注意到&#xff0c;HSM还是有专门的RAM的。自然&#xff0c;我自己接触到的…

基于springboot题库管理系统的设计与实现

目前&#xff0c;许多高校绝大多数课程还采用考教统一的模式来完成教学过程&#xff0c;这种传统的考试模式在教学到实施考试的过程带有很大的主观随意性和不规范性。另外随着各高校近年来学生规模的扩大&#xff0c;教学任务日益繁重&#xff0c;教师的工作量相应的不断增加。…