- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 控制流程
- 对象存储库
- 日志记录
- ScreenScrapeJavaSupport 工具
- Studio 测试
- 扩展程序
- 故障排除
此页面记录了用于 Studio 的基于文件的监管模型。有关如何从 Automation Ops 部署策略的信息,请参阅《Automation Ops 指南》。
为确保 Studio 用户遵守开发标准并遵循某些规则,组织可以执行控制 Studio 功能的监管策略。
您可以通过以下方式之一实施监管策略:
- 通过易于使用的网页应用程序 Automation Ops 创建和部署策略。
- 使用基于文件的监管模型,该模型包括创建 JSON 策略文件并在本地、外部或通过 Orchestrator 部署文件。
当前功能包括:
- 强制每个 Studio 配置文件执行不同的策略。
- restrict usage of package feeds from the Manage Packages window and Backstage View>Settings > Manage Sources.
- enforce organizational development standards using Workflow Analyzer rules.
- enforce design and location settings, and configure several settings that are not available Studio.
- enable sending Studio usage data to your organization.
- enforce the use of specific repositories for GIT source control.
观看以下视频,了解 Studio 中可用的监管功能及其在 StudioX 中的用法演示。
To enforce a governance policy, start by generating a governance file from Studio, then configure the file using the parameters it contains, and apply the policy in one of the following ways:
- Using a local file (for testing purposes) - Place the governance file in the Roaming folder on the machine where Studio is installed.
- Using an external file (for large deployments) - Place the governance file at a path (for example, an HTTP/HTTPS server) referenced by either a registry key or an asset in Orchestrator.
- Using an asset in Orchestrator - Copy the contents of the governance file to an asset in Orchestrator.
生成监管文件
在组织中强制执行开发标准的第一步是从 Studio 生成监管文件,或手动创建包含上述所有或部分功能的类似文件。
监管文件必须为 .config 类型,并具有以下名称:uipath.policies.config。
若要使用 Studio 的当前配置生成监管文件,请进入“后台视图”>“帮助”标签,然后选择“生成监管文件”。导出的文件可以在团队中共享。
如果为您的组织启用了 Automation Ops,则系统会提示您是选择生成“传统”策略还是“新式”策略。对于基于文件的监管模型,选择传统选项。新式选项会生成策略,然后您可以将其导入到 Automation Ops 中,以便轻松迁移到该模型。
使用下面的按钮下载包含所有 Workflow Analyzer 规则的示例。根据所在组织的需求修改示例。
配置监管文件
文件版本和文件标签
监管文件可能有不同的版本和自定义名称。
{
"Metadata": {
"Version": "1.0"
"LastUpdatedUtc": "2021-08-25T07:49:26.3089368Z",
"Availability": null
},
"Info": {
"Name": "Sample Policy Registry Key"
}
}
{
"Metadata": {
"Version": "1.0"
"LastUpdatedUtc": "2021-08-25T07:49:26.3089368Z",
"Availability": null
},
"Info": {
"Name": "Sample Policy Registry Key"
}
}
| 参数 | 值 |
|---|---|
| "Metadata" > "Version" | major.minor between quotation marks "" |
| "Info" > "Name" | 带有引号“”的标签,在“主页”>“帮助”中的“公司策略”下可见。 |
Studio 配置文件
监管文件可能包含适用于 Studio 和 StudioX 用户的策略,但这些策略必须根据配置文件进行结构化。Studio 策略必须与 StudioX 策略不同,如下例所示:
{
"Profiles": {
"Development": {
"Shell": {
"IsFeedbackEnabled": true,
"HideGettingStartedScreen": false
},
"PackageManager": {},
"Analyzer": {}
},
"Business": {
"Shell": {
"IsFeedbackEnabled": true,
"HideGettingStartedScreen": false
},
"PackageManager": {},
"Analyzer": {}
}
}
}
{
"Profiles": {
"Development": {
"Shell": {
"IsFeedbackEnabled": true,
"HideGettingStartedScreen": false
},
"PackageManager": {},
"Analyzer": {}
},
"Business": {
"Shell": {
"IsFeedbackEnabled": true,
"HideGettingStartedScreen": false
},
"PackageManager": {},
"Analyzer": {}
}
}
}
| 参数 | 值 |
|---|---|
|
"Profiles" |
您可以将两个配置文件添加到同一文件中。 |
用户无法从 Studio 配置的设置
“Shell”下的参数可针对用户可对无更改项目执行的运行次数设置限制,从而阻止 StudioX 中的生产运行。
此外,您可以配置用户能否使用反馈表单和欢迎屏幕。
{
"Shell": {
"IsFeedbackEnabled": true,
"HideGettingStartedScreen": false,
"RequireUserPublish": {
"PermittedConsecutiveRuns": 3,
"DialogMessage": null,
"LogToQueue": {
"QueueName": "NameOfQueue",
"QueueFolder": "NameOfQueueFolder"
}
}
}
}
{
"Shell": {
"IsFeedbackEnabled": true,
"HideGettingStartedScreen": false,
"RequireUserPublish": {
"PermittedConsecutiveRuns": 3,
"DialogMessage": null,
"LogToQueue": {
"QueueName": "NameOfQueue",
"QueueFolder": "NameOfQueueFolder"
}
}
}
}
| Studio 设置 | 参数 | 值 |
|---|---|---|
| Enables or disables the Send feedback form that can be accessed from the Studio title bar. | “是否启用反馈” | true 或 false。 |
| 启用或禁用欢迎屏幕,其中包含 UiPath 学院链接、介绍视频和用户打开 Studio 时显示的教程 | “隐藏入门屏幕” | true 或 false。 |
| 通过使用“需要用户发布”下的参数,您可以为无更改项目限制可从 Studio 触发的连续运行次数,并可以为超出限制的事件配置日志记录设置。 这可用于防止用户触发 Studio 中的生产运行。作为最佳实践,应将准备投入生产的项目发布到 Orchestrator,并从 Assistant 执行。 | "RequireUserPublish" 1 | 不适用 |
| 可连续运行无更改项目的最大次数。 | “允许的连续运行次数” 1 | 输入允许的次数。如果值为 null 或负数,则不设置限制。 |
| 当超出允许的连续执行次数时,在对话框中向用户显示的消息。对话框提示用户发布项目或取消执行。 | “对话消息” | 输入自定义消息以在引号“”之间显示。如果值为 null,则使用以下消息:“您似乎正在直接从项目中执行生产运行。您的组织要求您将项目发布到 Orchestrator 并从 Assistant 运行”。 |
| 通过“记录到队列”下的参数,您可以选择配置用于记录事件的 Orchestrator 队列。将记录每个事件的以下信息:用户名、项目名称、主 XAML 文件的哈希值和本地计算机上的时间戳。 | “记录到队列” | 不适用 |
| 用于保存记录的 Orchestrator 队列。 | “队列名称” | 在引号“”之间输入队列名称。如果值为 null,则不保存任何记录。 |
| Orchestrator 文件夹,其中包含要保存记录的队列。 | “队列文件夹” | 输入 Orchestrator 文件夹的名称,并在其两端加上引号“”。如果值为 null,则不保存任何记录。 |
1 - 更改仅在 StudioX 配置文件中生效。
包来源的使用
您可以使用监管文件以按 Studio 或 StudioX 限制访问、添加或删除包来源。
{
"PackageManager": {
"AllowAddRemoveFeeds": false,
"AllowEnableDisableFeeds": false,
"AllowOrchestratorFeeds": true,
"Feeds": [{
"Name": "Organization Internal Feed",
"Source": "https://[company].pkgs.visualstudio.com/_packaging/nuget-packages/nuget/v3/index.json",
"IsEnabled": true
},
{
"Name": "Official",
"Source": "https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json",
"IsEnabled": true
}
]
}
}
{
"PackageManager": {
"AllowAddRemoveFeeds": false,
"AllowEnableDisableFeeds": false,
"AllowOrchestratorFeeds": true,
"Feeds": [{
"Name": "Organization Internal Feed",
"Source": "https://[company].pkgs.visualstudio.com/_packaging/nuget-packages/nuget/v3/index.json",
"IsEnabled": true
},
{
"Name": "Official",
"Source": "https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json",
"IsEnabled": true
}
]
}
}
| 参数 | 值 | ||
|---|---|---|---|
| "Package Manager" | "AllowAddRemoveFeeds" | true 或 false。 | |
| "AllowEnableDisableFeeds" | true 或 false。 | ||
| "AllowOrchestratorFeeds" | true 或 false。 | ||
| "Feeds" | “名称” | 带有引号“”的标签,在“管理包”中可见。 | |
| “来源” | 带有引号“”的订阅源来源,在“管理包”中可见。 | ||
| "IsEnabled" | true 或 false。 |
如果将 "AllowAddRemoveFeeds" 和 "AllowEnableDisableFeeds" 参数设置为 true,则用户可以修改“包管理器”中可用的订阅源。Studio 重新启动时将会保留作出的任何更改。
如果将 "AllowOrchestratorFeeds" 参数设置为 true 并且机器人已连接到 Orchestrator,则用户无法禁用默认的 Orchestrator 订阅源。
监管文件中定义的订阅源将添加到“管理包”窗口的“默认包来源”部分,并且用户可以将自定义订阅源(如果监管文件已经提供必需的权限)添加到“用户定义的包来源”部分。
请注意,按用户安装的本地订阅源的路径为 C:\Users\CurrentUser\AppData\Local\Programs\UiPath\Studio\Packages。
活动面板设置(仅适用于 StudioX)
通过“活动管理器”下的设置,您可以隐藏特定活动,并在 StudioX 中强制使用“显示开发者”筛选器。
"ActivitiesManager": {
"AllowShowDeveloper": false,
"HiddenActivities": ["UiPath.Mail.Activities.Business.GmailApplicationCard","UiPath.Mail.Activities.Business.OutlookApplicationCard"]
}
"ActivitiesManager": {
"AllowShowDeveloper": false,
"HiddenActivities": ["UiPath.Mail.Activities.Business.GmailApplicationCard","UiPath.Mail.Activities.Business.OutlookApplicationCard"]
}
| 设置 | 参数 | 值 |
|---|---|---|
允许用户在 StudioX 的活动面板中选择“显示开发者”筛选器。如果设置为 False,则选项不可用。 | “允许显示开发者” | true 或 false。 |
| 活动面板中要隐藏的活动的列表。 | “隐藏的活动” | 在数组中输入活动名称,用逗号分隔。 In the example below, the Use Gmail and Use Desktop Outlook App activities have been hidden. "HiddenActivities": ["UiPath.Mail.Activities.Business.GmailApplicationCard", "UiPath.Mail.Activities.Business.OutlookApplicationCard"] |
模板订阅源
“模板管理器”下的设置使您能够强制为组织启用或禁用哪些模板订阅源。
"TemplatesManager": {
"Feeds": [
{
"Name": "GettingStarted",
"IsEnabled": true
},
{
"Name": "Official",
"IsEnabled": true
},
{
"Name": "Marketplace",
"IsEnabled": true
}
]
"TemplatesManager": {
"Feeds": [
{
"Name": "GettingStarted",
"IsEnabled": true
},
{
"Name": "Official",
"IsEnabled": true
},
{
"Name": "Marketplace",
"IsEnabled": true
}
]
| 设置 | 参数 | 值 | |
|---|---|---|---|
| 模板管理器 | 订阅源 | 名称 | 位于引号 ("") 之间的订阅源名称。 |
| IsEnabled | true 或 false。 |
来源控件设置
通过“来源控件”下的设置,您可以在使用 GIT 时强制使用允许的存储库,并在发布前提交更改。
{
"SourceControl": {
"CheckInBeforePublishParam": {
"AllowEdit": false,
"Value": false
},
"RepositoriesConfigParam": {
"AllowEdit": true,
"Value": {
"AllowSaveLocal": null,
"AllowEditRepositories": null,
"Repositories": [
{
"SourceControlType": 0,
"Name": null,
"Url": null,
"DefaultFolder": null
}
]
}
}
{
"SourceControl": {
"CheckInBeforePublishParam": {
"AllowEdit": false,
"Value": false
},
"RepositoriesConfigParam": {
"AllowEdit": true,
"Value": {
"AllowSaveLocal": null,
"AllowEditRepositories": null,
"Repositories": [
{
"SourceControlType": 0,
"Name": null,
"Url": null,
"DefaultFolder": null
}
]
}
}
“允许编辑”参数指定是否允许用户更改由监管文件配置的默认设置。
| Studio 设置 | 参数 | 值 |
|---|---|---|
|
在发布前强制签入 |
"CheckInBeforePublishParam" |
|
|
通过“存储库配置参数”下的参数,您可以管理来源控件存储库的使用。这仅适用于 GIT。 |
“存储库配置参数” |
不适用 |
|
允许用户在本地计算机上保存项目。 |
“允许本地保存” |
若设置为“false”,则在 StudioX 中创建新项目时,用户无法选择“此 PC”作为保存位置,项目将保存到存储库。 |
|
允许用户添加和编辑存储库。 |
“允许编辑存储库” |
如果设置为
|
|
允许的 GIT 存储库列表。此参数接受存储库的 JSON 数组。 |
“存储库” |
通过添加“名称”、“Url”和可选的“默认文件夹”(存储库的默认文件夹),在数组中输入存储库。 存储库示例: “名称”: “Url”:“ “默认文件夹”:
|
1 - 更改仅在 StudioX 配置文件中生效。
Studio 设置
The following parameters enable you to configure settings found in Home (Studio Backstage View) > Settings. For more information, see Configuring Studio Settings.
{
"Workflow": {
"DefaultProjectLanguageParam": {
"Value": VisualBasic,
"AllowEdit": false
},
"DefaultProjectFrameworkParam": {
"Value": "Classic",
"AllowEdit": true
},
"AllowedProjectFrameworks": {
"Classic": true,
"Modern": true,
"CrossPlatform": true
},
"DockedAnnotationsParam": {
"AllowEdit": false,
"Value": true
},
"ShowDataManagerOnlyParam": {
"AllowEdit": true,
"Value": false
},
"IsCollapsedViewSlimParam": {
"AllowEdit": false,
"Value": false
},
"UseSmartFilePathsParam": {
"AllowEdit": true,
"Value": true
},
"EnableLineNumberingParam": {
"AllowEdit": true,
"Value": true
},
"EnableActivityOnlineRecommendationsParam": {
"AllowEdit": true,
"Value": true
},
"EnforceReleaseNotes": null,
"DisplayLegacyFrameworkDeprecation": true,
"AnalyzeOnPublishParam": {
"AllowEdit": false,
"Value": false
},
"AnalyzeOnPushParam": {
"AllowEdit": true,
"Value": false
},
"AnalyzeOnRunParam": {
"AllowEdit": false,
"Value": false
},
"AnalyzeRpaXamlsOnlyParam": {
"AllowEdit": false,
"Value": false
},
"AdditionalAnalyzerRulePathParam": {
"AllowEdit": false,
"Value": null
},
"DefaultProjectFolderParam": {
"AllowEdit": false,
"Value": null
},
"DefaultProcessPublishUrlParam": {
"AllowEdit": false,
"Value": null
},
"DefaultLibraryPublishUrlParam": {
"AllowEdit": false,
"Value": null
},
"DefaultTemplatePublishUrlParam": {
"AllowEdit": false,
"Value": "C:\\Users\\username\\Documents\\UiPath\\.templates"
},
"DefaultPipTypeParam": {
"Value": "ChildSession",
"AllowEdit": true
},
"ModernBehaviorParam": {
"AllowEdit": false,
"Value": false
},
"ObjectRepositoryEnforcedParam": {
"AllowEdit": false,
"Value": false
},
"UseConnectionServiceParam": {
"AllowEdit": true,
"Value": false
},
"PlatformAutoUpdateIntervalDaysParam": {
"AllowEdit": true,
"Value": 7
},
"HideSequencesParam": {
"AllowEdit": true,
"Value": true
},
"AllowedPublishFeeds": {
"Custom": true,
"PersonalWorkspace": true,
"TenantPackages": true,
"FolderPackages": true,
"HostLibraries": true,
"TenantLibraries": true,
"Local": true
}
},
}
{
"Workflow": {
"DefaultProjectLanguageParam": {
"Value": VisualBasic,
"AllowEdit": false
},
"DefaultProjectFrameworkParam": {
"Value": "Classic",
"AllowEdit": true
},
"AllowedProjectFrameworks": {
"Classic": true,
"Modern": true,
"CrossPlatform": true
},
"DockedAnnotationsParam": {
"AllowEdit": false,
"Value": true
},
"ShowDataManagerOnlyParam": {
"AllowEdit": true,
"Value": false
},
"IsCollapsedViewSlimParam": {
"AllowEdit": false,
"Value": false
},
"UseSmartFilePathsParam": {
"AllowEdit": true,
"Value": true
},
"EnableLineNumberingParam": {
"AllowEdit": true,
"Value": true
},
"EnableActivityOnlineRecommendationsParam": {
"AllowEdit": true,
"Value": true
},
"EnforceReleaseNotes": null,
"DisplayLegacyFrameworkDeprecation": true,
"AnalyzeOnPublishParam": {
"AllowEdit": false,
"Value": false
},
"AnalyzeOnPushParam": {
"AllowEdit": true,
"Value": false
},
"AnalyzeOnRunParam": {
"AllowEdit": false,
"Value": false
},
"AnalyzeRpaXamlsOnlyParam": {
"AllowEdit": false,
"Value": false
},
"AdditionalAnalyzerRulePathParam": {
"AllowEdit": false,
"Value": null
},
"DefaultProjectFolderParam": {
"AllowEdit": false,
"Value": null
},
"DefaultProcessPublishUrlParam": {
"AllowEdit": false,
"Value": null
},
"DefaultLibraryPublishUrlParam": {
"AllowEdit": false,
"Value": null
},
"DefaultTemplatePublishUrlParam": {
"AllowEdit": false,
"Value": "C:\\Users\\username\\Documents\\UiPath\\.templates"
},
"DefaultPipTypeParam": {
"Value": "ChildSession",
"AllowEdit": true
},
"ModernBehaviorParam": {
"AllowEdit": false,
"Value": false
},
"ObjectRepositoryEnforcedParam": {
"AllowEdit": false,
"Value": false
},
"UseConnectionServiceParam": {
"AllowEdit": true,
"Value": false
},
"PlatformAutoUpdateIntervalDaysParam": {
"AllowEdit": true,
"Value": 7
},
"HideSequencesParam": {
"AllowEdit": true,
"Value": true
},
"AllowedPublishFeeds": {
"Custom": true,
"PersonalWorkspace": true,
"TenantPackages": true,
"FolderPackages": true,
"HostLibraries": true,
"TenantLibraries": true,
"Local": true
}
},
}
大多数选项有两个参数可用:
- "AllowEdit" - 指定是否允许用户更改由监管文件配置的默认设置(
true表示允许,false表示拒绝)。 - "Value" - 指定默认设置,如下表所述。
在 "Workflow" 下:
| Studio 设置 | 参数 | 值 |
|---|---|---|
|
使用 C# 语言 |
“默认项目语言参数” |
|
|
创建固定注释 |
"DockedAnnotationsParam" |
|
|
仅显示数据管理器面板 |
“仅显示数据管理器参数” |
|
|
隐藏序列 |
“隐藏序列参数” |
|
|
默认项目目标框架 |
“默认项目框架参数” |
|
|
“允许的项目框架”下的参数用于确定在 Studio 配置文件中创建或打开项目时允许的目标框架。要启用框架,请将其参数设置为 |
“允许的项目框架” |
|
|
使用智能文件路径 |
“使用智能文件路径参数” |
|
|
启用行号 |
“启用行编号参数” |
|
|
启用 AI 活动建议 |
“启用活动在线推荐参数” |
|
|
将“发布”向导中的“发行说明”字段设为必填项 |
“强制填写发行说明” |
|
| Set the visibility of the message which appears when you open a Windows - Legacy project. This setting cannot be configured from the Studio UI. | "DisplayLegacyFrameworkDeprecation" | true 或 false。
|
|
折叠活动精简视图 |
"IsCollapsedViewSlimParam" |
|
|
在发布前强制使用分析器 |
"AnalyzeOnPublishParam" |
|
|
推送/签入前强制使用分析器 |
"AnalyzeOnPushParam" |
|
|
运行前强制使用分析器 |
"AnalyzeOnRunParam" |
|
|
仅分析 RPA XAML 文件 |
"AnalyzeRpaXamlsOnlyParam" |
|
|
工作流分析器规则位置 |
"AdditionalAnalyzerRulePathParam" |
|
|
项目路径 |
DefaultProjectFolderParam |
|
|
发布流程 URL |
"DefaultProcessPublishUrlParam" |
|
|
发布库 URL |
"DefaultLibraryPublishUrlParam" |
|
|
发布项目模板 URL |
"DefaultTemplatePublishUrlParam" |
要更改位置,请在引号之间输入路径。 |
|
为新项目使用新式体验 |
"ModernBehaviorParam" |
|
|
强制使用对象存储库 |
"ObjectRepositoryEnforcedParam" |
|
|
默认为托管连接 |
“使用连接服务参数” |
|
|
The parameters under "AllowedPublishFeeds" determine the publish locations available to users. To enable a publish location, set its parameter to |
“允许的发布订阅源” |
|
|
PiP 类型 |
“默认 PiP 类型参数” |
|
1 - 更改仅在 Studio 配置文件中生效。
2 - 更改仅在 StudioX 配置文件中生效。
在 "ObjectBrowser" 下:
| Studio 设置 | 参数 | 值 |
|---|---|---|
| 发送匿名用户界面描述符 | "SendUiDescriptors" | true 或 false |
将 Studio 使用情况数据发送到您的组织
通过“遥测”下的参数,您可以将 Studio 使用情况数据发送到 Azure 门户中的 Application Insights 资源。此数据可用于监控和分析用户在 Studio 中执行的操作。要启用此功能,请在“检测密钥”参数中输入 Application Insights 实例的“检测密钥”。
{
"Telemetry": {
"TelemetryOptions": {
"TelemetryOptionsDictonary": {
"instrumentation-keys": ""
}
}
}
}
{
"Telemetry": {
"TelemetryOptions": {
"TelemetryOptionsDictonary": {
"instrumentation-keys": ""
}
}
}
}
有关发送到 Application Insights 的遥测数据的信息,请参阅下表。
| 操作 | 事件名称 | 已收集数据 |
|---|---|---|
|
Studio 已启动 |
Studio 已启动 |
|
|
Studio 已关闭 |
Studio 已关闭 |
|
|
已打开项目 |
打开项目 |
|
|
已创建项目 |
|
|
|
项目已运行 |
|
|
|
文件已运行 |
|
|
|
项目已调试 |
|
|
|
文件已调试 |
|
|
|
已执行“运行至此活动” |
Designer_RunTo |
|
|
已发布项目 |
发布项目 |
|
|
已安装活动包 |
已添加包 |
|
|
活动已添加到项目中 |
S.Activities.ActivityAdded |
|
|
已在“用户界面自动化”活动中指明目标 |
S.Activities.PropertyChanged |
|
1 - 创建项目时,当用户在 Studio 后台视图中选择创建新项目时,将生成“新项目”;当用户单击“新项目”对话框中的“创建”按钮时,将生成“已创建新项目”。
2 - StartDebug 事件跟踪执行操作的目标机器人 - 本地机器人(Local)或远程机器人(Orchestrator 用于无人值守机器人连接,Remote 用于远程计算机连接)。
使用 Application Insights 中的数据
除了 Microsoft 官方文档中描述的用例场景外,您还可以在 Azure Insights 实例的 Azure Monitor 中使用日志分析测试和构建查询。要查看某个事件的所有可能数据,您可以构建一个简单的查询,以探索该事件在预定义时间范围内的所有出现情况。例如:
customEvents
| where name == "StudioStarted"
customEvents
| where name == "StudioStarted"
See the following table for examples of telemetry queries and a description for each one. You can also check the list of known issues.
| 事件 | 示例查询 | 查询说明 |
|---|---|---|
| Studio 已启动 Studio 已启动 | customEvents | where name == "StudioStarted" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | summarize count(name) by bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)每天打开 Studio 的次数。 |
| Studio 已关闭 Studio 已关闭 | customEvents | where name == "StudioClosed" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | summarize count(name) by bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)每天关闭 Studio 的次数。 |
| Studio 已关闭 Studio 已关闭 | customEvents | where name == "StudioClosed" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | extend TotalSessionTimeInSeconds = tostring(customDimensions.TotalSessionTimeInSeconds) | extend SessionId = tostring(parse_json(tostring(customDimensions.Context)) .SessionId) | summarize AvgSessionTime_inMinutes = round(avg(todouble(TotalSessionTimeInSeconds))/60,2) by bin(timestamp, 1d) | order by timestamp desc | 过去 30 天(不包括当天)的平均每日会话时长(以分钟为单位,保留两位小数)。 |
| 打开项目 已打开项目 | customEvents | where name == "OpenProject" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | summarize count(name) by bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)每天打开项目的次数。 |
| 已创建新项目 已创建项目 | customEvents | 其中名称 == "NewProjectCreated" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | extend ActionArgs = tostring(customDimensions .ActionArgs) | where ActionArgs != "" | summarize count(name) by ActionArgs, bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)创建的项目数量和类型。 |
| 启动调试 项目已运行或已调试/文件已运行或已调试 | customEvents | where name == "StartDebug" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | extend RunTarget = tostring(customDimensions .RunTarget) | summarize count(name) by RunTarget, bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)启动的运行次数和目标。 |
| Designer_RunTo “运行至此活动”已执行 | customEvents | where name == "Designer_RunTo" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | summarize count(name) by bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)执行了“运行至此活动”的次数。 |
| 发布项目 已发布项目 | customEvents | where name == "PublishProject" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | summarize count(name) by bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)发布的项目数量。 |
| 已添加包 已安装活动包 | customEvents | where name == "PackageAdded" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | extend ActionArgs = tostring(customDimensions. ActionArgs) | summarize count(name) by ActionArgs, bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)安装的包数量和包名称。 |
| S.Activities.ActivityAdded 活动已添加到项目中 | customEvents | where name == "S.Activities.ActivityAdded" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | extend ActivityType = tostring(customDimensions. ActivityType) | extend PackageName = tostring(customDimensions.PackageName) | extend PackageVersion = tostring(customDimensions.PackageVersion) | summarize count(name) by ActivityType, PackageName, PackageVersion, bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)添加的活动数。包括每个活动所属的包的名称和版本。 3 |
| S.Activities.PropertyChanged 已在“用户界面自动化”活动中指明目标 | customEvents | where name == "S.Activities.PropertyChanged" | where timestamp >= startofday(ago(30d)) and timestamp <= endofday(ago(1d)) | extend ActivityType = tostring(customDimensions.ActivityType) | extend PropertyName = tostring(customDimensions.PropertyName) | summarize count(name) by ActivityType, PropertyName, bin(timestamp, 1d) | order by timestamp desc | 过去 30 天内(不包括当天)更改所用活动属性的次数。包括活动名称和已更改的每个属性的名称。 |
下表列出了事件中默认包含的其他参数。
| 参数 | 描述 | 查询中表示(针对选定的事件) |
|---|---|---|
| customDimensions | 与每个事件相关的数据和参数的详细集合。 | customEvents | where name == "StudioStarted" | extend customDimensions |
| Context | 自定义维度集合的一部分,用于处理有关项目的详细信息,包括配置文件、用户 ID、许可证类型、机器人类型、会话 ID。 | customEvents | where name == "StudioStarted" | extend Context = parse_json(customDimensions.Context) |
| 环境 | 自定义维度集合的一部分,由计算机名称、操作系统版本和用户名组成。 | customEvents | where name == "StudioStarted" | extend Environment = parse_json(customDimensions.Environment) |
日志分析为您提供显式扩展属于上述参数的每个数据类型的选项,以用作筛选器或用作其他汇总元素。为此,请单击日志中数据元素旁边的三点图标,然后选择扩展数据或将其用作筛选器。
有关扩展或筛选数据的示例,请参见下表。
| 数据示例 | 查询中表示(针对选定的事件) |
|---|---|
| 应用程序名称(扩展名) | customEvents | where name == "StudioStarted" | extend ApplicationName = tostring(customDimensions.ApplicationName) |
| 许可证类型(扩展) | customEvents | where name == "StudioStarted" | extend LicenseType = tostring(parse_json(tostring(customDimensions.Context)).LicenseType) |
| 操作系统版本(包含筛选器) | customEvents | where name == "StudioStarted" | where parse_json(tostring(customDimensions.Environment)).OSVersion == "Microsoft Windows NT 10.0.19043.0" |
| 当前语言(包含筛选器) | customEvents | where name == "StudioStarted" | where parse_json(tostring(customDimensions.Context)).CurrentLanguage == "en" |
已知问题
- PublishProject 事件仅显示发布到 Orchestrator 的项目的详细信息。
- S.Activities.ActivityAdded 事件显示的包版本不正确。
工作流分析器规则
The Workflow Analyzer is the tool for verifying if projects meet development standards. Using the governance file, organizations can enforce custom rules pertaining to their needs across all projects, in a centralized manner.
备注
- 自定义规则集可以事先在类型为
.json的单独文件中进行定义,并通过 dll 外部程序集或自定义活动包传递。有关详细信息,请阅读适用于工作流分析器的构建自定义规则。 - 监管文件无法提供凭据,这意味着不支持安全订阅源。
- 如果强制执行自定义规则集,用户将无法对工作流分析器规则作出任何更改。
- 如果未在监管文件中引用或嵌入自定义规则集,则使用工作流分析器默认规则。如果未提及“分析器”部分,则不会强制执行工作流分析器监管操作。如有提及,即使该部分为空,系统也将在 Studio 中禁用规则管理。
- 强制执行监管时,默认情况下将“禁用”Studio 或 UiPath 活动包的内置规则,除非监管文件或自定义规则集中另有说明。
强制执行规则
有两种方法可以用于管理 uipath.policies.config 监管文件中的自定义规则集:
- 指向位于以下路径之一的规则集:
- 在本地计算机上;
- 在网络服务器或计算机上共享,由 UNC 路径标识;
- 在共享 Blob 存储中,由 http(s) 路径识别。
- 通过启用或禁用规则(提及其 ID、参数和错误级别)来嵌入自定义规则集。
必须在 "Analyzer" 部分中引用或添加所有自定义规则。规则和计数器必须分成其各自的部分,如下所示:
{
"Analyzer": {
"AllowEdit": false,
"ReferencedRulesConfigFile": null,
"EmbeddedRulesConfig": {
"Rules": [
{
"Id": "ST-NMG-001",
"IsEnabled": false,
"Parameters": [{
"Name": "Regex",
"Value": null
}],
"ErrorLevel": "Error"
}
],
"Counters": [{
"Id": "ST-ANA-009",
"IsEnabled": true,
"Parameters": []
}]
}
}
}
{
"Analyzer": {
"AllowEdit": false,
"ReferencedRulesConfigFile": null,
"EmbeddedRulesConfig": {
"Rules": [
{
"Id": "ST-NMG-001",
"IsEnabled": false,
"Parameters": [{
"Name": "Regex",
"Value": null
}],
"ErrorLevel": "Error"
}
],
"Counters": [{
"Id": "ST-ANA-009",
"IsEnabled": true,
"Parameters": []
}]
}
}
}
| 参数/部分 | 值 |
|---|---|
|
"AllowEdit" |
如果设置为 如果设置为 如果未添加该参数,则默认情况下,系统将限制用户编辑规则。 |
|
"ReferencedRulesConfigFile" |
|
|
"EmbeddedRulesConfig" |
保留 |
|
"Id" |
规则 ID,例如 |
|
"IsEnabled" |
|
|
“参数” |
|
|
“名称” |
写入引号之间的参数名称。 |
|
"Value" |
|
|
"ErrorLevel" |
|
|
"Counters" |
保留计数器的参数:"Id"、"IsEnabled"、"Parameters" |
1 - 由于计数器不包含参数,因此使用 []。
如果将 "AllowEdit" 参数设置为 true,则用户可以在工作流分析器设置窗口中修改可用规则。Studio 重新启动时将会保留作出的任何更改。
实施监管政策
我们建议使用 Automation Ops 配置和部署策略。有关如何从 Studio 生成的监管文件创建策略的更多信息,请参阅《Automation Ops 指南》中的“创建监管策略”。
使用本地文件
如果存储在本地,则监管文件必须位于以下路径:%AppData%\UiPath。
使用外部文件
如果存储在外部,则必须使用 Windows 注册表或 Orchestrator 资产定义策略文件的路径:
要使用 Windows 注册表定义文件路径,请执行以下操作:
- 在安装 Studio 的计算机上打开注册表编辑器。
- 找到以下注册表项:
Computer\HKEY_CURRENT_USER\Software\UiPath,然后按一下 Enter。 - 在注册表编辑器中,右键单击并选择“新建”>“字符串值”。输入
GovernanceSource名称作为新值。请勿使用其他名称作为值! - 双击
GovernanceSource字符串进行编辑。在“数值数据”字段中,将路径添加到uipath.policies.config文件,然后单击“确定”。- 如果策略文件存储在本地,则此字段的示例为
C:\policies\uipath.policies.config。 - 如果策略文件存储在服务器上,则此字段的示例为
192.168.1.1\policies\uipath.policies.config。
- 如果策略文件存储在本地,则此字段的示例为
注册表项应如下所示:
要使用 Orchestrator 资产定义文件路径,请执行以下操作:
- 在 Orchestrator 中,选择“租户”>“文件夹”,然后添加一个名为 uipath.settings.config 的新文件夹。
- 将要实施监管策略的用户分配给该文件夹。
- 在 uipath.settings.config 文件夹中,创建一个新资产并按以下方式对其进行配置:
-
“资产名称”- uipath.studio.governancesource。
-
“类型”- 文字。
-
“全局值”- 选择此选项,然后在文本框中输入 uipath.policies.config 文件的完整路径。
(可选)可以通过添加每个用户的值以及指向不同文件的路径,将不同的策略应用于不同的用户。
-
使用 Orchestrator 资产
- 在 Orchestrator 中,选择“租户”>“文件夹”,然后添加一个名为 uipath.settings.config 的新文件夹。
- 将要实施监管策略的用户分配给该文件夹。
- 在 uipath.settings.config 文件夹中,创建一个新资产并按以下方式对其进行配置:
-
“资产名称”- uipath.studio.governancepolicy。
-
“类型”- 文字。
-
“全局值”- 选择此选项,然后在文本框中粘贴 uipath.policies.config 文件的全部内容。
(可选)可以通过添加每个用户的值并粘贴不同的参数,将不同的策略应用于不同的用户。
备注:- 使用引用文件路径或保存文件内容的 Orchestrator 资产强制执行监管策略需要具有新式文件夹的 Orchestrator v2020.10 或更高版本。
- 用户需要在 Studio 中登录其帐户才能接收基于用户的策略。
-
应用和优先级
定义策略后,将在 Studio 重新启动后应用该策略。
消息将显示在“工作流分析器设置”窗口、“发送反馈”窗口、后台视图的“设置”选项卡中,以及“管理包”窗口中。
Studio 使用以下优先顺序应用治理策略:Automation Ops > uipath.studio.governancepolicy> uipath.studio.governancesource> 注册表项 > 本地文件。
如果已为用户删除监管策略,则通过监管文件强制执行的设置将保留为默认设置。但是,现在用户可以选择修改实施监管策略时的受限设置。