Abonnieren

UiPath Studio

UiPath Studio-Anleitung

Governance

📘

Hinweis:

This page documents the file-based governance model available for Studio. For information on how to deploy policies from Automation Ops, see the Automation Ops Guide.

Über Governance

Um sicherzustellen, dass Studio-Benutzer die Development-Standards und bestimmte Regeln einhalten, können Organisationen Governance-Richtlinien erzwingen, die Studio-Funktionalitäten steuern.

Sie können Governance-Richtlinien auf eine der folgenden Arten durchsetzen:

  • Erstellen und Bereitstellen von Richtlinien aus UiPath Automation Ops, einer benutzerfreundlichen Webanwendung.
  • Verwenden Sie ein dateibasiertes Governance-Modell, das darin besteht, eine JSON-Richtliniendatei zu erstellen und die Datei lokal, extern oder über den Orchestrator bereitzustellen.

Die aktuellen Funktionen sind:

Im folgenden Video finden Sie einen Überblick über die in Studio verfügbaren Governance-Funktionen und eine Demo zur Verwendung in 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.

Governance-Datei generieren

Der erste Schritt bei der Durchsetzung von Entwicklungsstandards in Ihrer Organisation besteht darin, eine Governance-Datei aus Studio zu generieren oder manuell eine ähnliche Datei zu erstellen, die alle oder einen Teil der oben aufgeführten Funktionen enthält.

🚧

Wichtig!

Die Governance-Datei muss den Typ .config mit dem folgenden Namen aufweisen: uipath.policies.config.

Um eine Governance-Datei mit Ihrer aktuellen Konfiguration aus Studio zu generieren, wechseln Sie zur Registerkarte „Backstage-Ansicht“ > „Hilfe“, und wählen Sie Governance-Datei generieren aus. Die exportierte Datei kann im gesamten Team freigegeben werden.

📘

Hinweis:

Wenn Automation Ops für Ihre Organisation aktiviert ist, werden Sie aufgefordert, auszuwählen, ob eine klassische oder eine moderne Richtlinie generiert werden soll. Wählen Sie die klassische Option für das dateibasierte Governance Modell aus. Die moderne Option generiert Richtlinien, die Sie dann in Automation Ops importieren können, um eine einfache Migration zu diesem Modell zu erreichen.

Verwenden Sie die Schaltfläche unten, um das Beispiel herunterzuladen, das alle Workflow-Analyseregeln enthält. Passen Sie das Beispiel an die Anforderungen Ihrer Organisation an.

Governance-Datei konfigurieren

Dateiversion und Dateibeschriftung

Governance-Dateien können unterschiedliche Versionen und einen benutzerdefinierten Namen haben.

{
    "Metadata": {
        "Version": "1.0"
                "LastUpdatedUtc": "2021-08-25T07:49:26.3089368Z",
                "Availability": null
    },
    "Info": {
        "Name": "Sample Policy Registry Key"
    }
}

Parameters

Values

"Metadata" > "Version"

major.minor between quotation marks ""

"Info" > "Name"

Label written between quotation marks "", visible in Home > Help, under Company Policy.

Studio-Profile

Die Governance-Datei kann Richtlinien für Studio- und StudioX-Benutzer enthalten, diese müssen jedoch pro Profil strukturiert sein. Richtlinien für Studio müssen von denen für StudioX wie im folgenden Beispiel getrennt werden:

{
    "Profiles": {
        "Development": {
            "Shell": {
                "IsFeedbackEnabled": true,
                "HideGettingStartedScreen": false
            },
            "PackageManager": {},
            "Analyzer": {}
        },
        "Business": {
            "Shell": {
                "IsFeedbackEnabled": true,
                "HideGettingStartedScreen": false
            },
            "PackageManager": {},
            "Analyzer": {}
        }
    }
}

Parameters

Values

"Profiles"

For Studio: Development
For StudioX: Business
No longer in use For Studio Pro: StudioPro
You can add both profiles in the same file.

Einstellungen, die Benutzer nicht in Studio konfigurieren können

Mit den Parametern unter "Shell" können Sie verhindern, dass Produktionsläufe über StudioX ausgeführt werden, indem ein Limit für die Anzahl der Ausführungen festgelegt wird, die ein Benutzer für ein Projekt ohne Änderungen ausführen kann.

Darüber hinaus können Sie konfigurieren, ob das Feedbackformular und der Begrüßungsbildschirm für Benutzer verfügbar sind.

{
      "Shell": {
        "IsFeedbackEnabled": true,
        "HideGettingStartedScreen": false,
        "RequireUserPublish": {
          "PermittedConsecutiveRuns": 3,
          "DialogMessage": null,
          "LogToQueue": {
            "QueueName": "NameOfQueue",
            "QueueFolder": "NameOfQueueFolder"
          }
        }
      }
}

Studio Setting

Parameters

Values

Enables or disables the Send feedback form that can be accessed from the Studio title bar.

"IsFeedbackEnabled"

Either true or false.

Enables or disables the welcome screen with links to the UiPath Academy, an introduction video, and tutorials that is displayed when users open Studio

"HideGettingStartedScreen"

Either true or false.

The parameters under "RequireUserPublish" enable you to limit the number of consecutive runs that can be triggered from Studio for a project that has no changes, and to configure logging settings for events where the limit is exceeded.

This can be used to prevent users from triggering production runs from Studio. As a best practice, projects that are ready for production should be published to Orchestrator and executed from the Assistant.

"RequireUserPublish" 1

N/A

Maximum number of consecutive times a project without changes can be run from Studio.

"PermittedConsecutiveRuns"

Enter the allowed number of times. If the value is null or a negative number, no limit is set.

Message to display to the user in a dialog box when the allowed number of consecutive executions is exceeded. The dialog box prompts the user to either publish the project or cancel the execution.

"DialogMessage"

Enter a custom message to display between quotation marks "". If the value is null, the following message is used: It appears you are performing production runs directly from your project. Your organization requires you to publish your project to Orchestrator and run from your Assistant.

The parameters under "LogToQueue" give you the option to configure an Orchestrator queue where to log events. The following information is logged for each event: username, project name, hash of the main XAML file, and timestamp from the local machine.

"LogToQueue"

N/A

Orchestrator queue in which to save the records.

"QueueName"

Enter the name of the queue between quotation marks "". If the value is null, no records are saved.

Orchestrator folder containing the queue in which to save the records.

"QueueFolder"

Enter the name of the Orchestrator folder between quotation marks "". If the value is null, no records are saved.

1 – Änderungen werden nur im StudioX-Profil wirksam.

Available Template Locations

You can prevent the Official and Marketplace feeds from appearing in Home (Studio Backstage View) > Templates in the list of locations from which templates can be added. The feeds are enabled by default.

{
      "TemplatesManager": {
        "Feeds": [
          {
            "Name": "Official",
            "IsEnabled": true
          },
          {
            "Name": "Marketplace",
            "IsEnabled": true
          }
        ]
      }
}

Parameters

Values

"TemplatesManager"

"Feeds"

"Name"

The template location (Official, Marketplace) written between quotation marks.

"IsEnabled"

Either true or false.

Verwendung von Paketquellen

Sie können das Aufrufen, Hinzufügen oder Entfernen von Paketquellen pro Studio oder StudioX mithilfe der Governance-Datei einschränken.

{
    "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://www.myget.org/F/workflow",
                "IsEnabled": true
            }
        ]
    }
}

Parameters

Values

"Package Manager"

"AllowAddRemoveFeeds"

Either true or false.

"AllowEnableDisableFeeds"

Either true or false.

"AllowOrchestratorFeeds"

Either true or false.

"Feeds"

"Name"

Label written between quotation marks "", visible in Manage Packages.

"Source"

Feed source written between quotation marks ", visible in Manage Packages.

"IsEnabled"

Either true or false.

Wenn die Parameter „AllowAddRemoveFeeds“ und „AllowEnableDisableFeeds“ auf true festgelegt sind, kann der Benutzer Feeds ändern, die im Paketmanager verfügbar sind. Wenn Änderungen vorgenommen werden, werden sie beim Neustart von Studio beibehalten.

Wenn der Parameter „AllowOrchestratorFeeds“ auf true gesetzt ist und der Roboter mit Orchestrator verbunden ist, können Benutzer die standardmäßigen Orchestrator-Feeds nicht deaktivieren.

Feeds, die in der Governance-Datei definiert sind, werden dem Abschnitt Standardpaketquellen im Fenster Pakete verwalten hinzugefügt, und der Benutzer kann die benutzerdefinierten Feeds (sofern die erforderlichen Rechte in der Governance-Datei bereitgestellt werden) zum Abschnitt Benutzerdefinierte Paketquellen hinzufügen.

Bitte beachten Sie, dass der Pfad zum lokalen Feed für Installationen pro Benutzer C:\Users\CurrentUser\AppData\Local\Programs\UiPath\Studio\Packages lautet.

Einstellungen des Aktivitätenbereichs (nur StudioX)

Mit den Einstellungen unter ActivitiesManager können Sie bestimmte Aktivitäten ausblenden und die Verwendung des Filters Entwickler anzeigen in StudioX erzwingen.

"ActivitiesManager": {
        "AllowShowDeveloper": false,
        "HiddenActivities": ["UiPath.Mail.Activities.Business.GmailApplicationCard","UiPath.Mail.Activities.Business.OutlookApplicationCard"]

}

Setting

Parameters

Value

Allows users to select the Show Developer filter in the activities panel in StudioX. If set to False, the option becomes unavailable.

"AllowShowDeveloper"

Either true or false.

A list of activities to be hidden from the activities panel.

"HiddenActivities"

Enter activity names in the array, separated by commas.

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"]

Source Control-Einstellungen

Mit den Einstellungen unter "SourceControl" können Sie die Verwendung zulässiger Repositorys bei der Arbeit mit GIT erzwingen und Änderungen vor der Veröffentlichung committen.

{
      "SourceControl": {
        "CheckInBeforePublishParam": {
          "AllowEdit": false,
          "Value": false
        },
       "RepositoriesConfigParam": {
          "AllowEdit": true,
          "Value": {
            "AllowSaveLocal": null,
            "AllowEditRepositories": null,
            "Repositories": [
              {
                "SourceControlType": 0,
                "Name": null,
                "Url": null,
                "DefaultFolder": null
              }
            ]
          }
       
}

Der Parameter "AllowEdit" gibt an, ob Benutzer die von der Governance-Datei konfigurierte Standardeinstellung ändern dürfen oder nicht.

Studio Setting

Parameters

Value

Enforce Check-In before Publish
Note: This setting is available in Home > Settings > Design.

"CheckInBeforePublishParam"

Either true or false.

The parameters under RepositoriesConfigParam enable you to govern the use of source control repositories. This applies only for GIT.

"RepositoriesConfigParam"

N/A

Allow users to save projects locally on their machine.

"AllowSaveLocal" 1

Either true or false. If the value is null, the parameter is interpreted as true.

When set to false, users can't select This PC as the location when creating a new project in StudioX and will save the project to a repository.

Allow users to add and edit repositories.

"AllowEditRepositories"

Either true or false. If the value is null, the parameter is interpreted as true.

If set to false:
In StudioX backstage view, the options in Home > Team are read only and users are not able to add, edit or remove a repository.
In Studio, users can add repository URLs in the Clone a remote GIT repository window, but each URL is checked against the list of allowed repositories.

A list of allowed GIT repositories. This parameter accepts a JSON array of repositories.

"Repositories"

Note: A repository that is already checked out locally by a user is allowed for both profiles even if it is on the allowed list for only one of them.

Enter repositories in the array by adding the Name, Url, and optionally DefaultFolder (the default folder of the repository).

Example of a repository:
"Name": "%username%'s Repo",
"Url": "https://github.com/uipath/%username%",
"DefaultFolder": null

Adding a base URL (e.g. https://github.com/MyOrg/) allows the use of repositories with child URLs (e.g. https://github.com/MyOrg/RPA).
Any strings placed between % in the name and URL parameters are interpreted as environment variables on the user machines.
All spaces in the URL parameter are replaced with hypens (-).

1 – Änderungen werden nur im StudioX-Profil wirksam.

Studio-Einstellungen

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
        },
        "IsCollapsedViewSlimParam": {
          "AllowEdit": false,
          "Value": false
        },
        "UseSmartFilePathsParam": {
          "AllowEdit": true,
          "Value": true
        },
        "EnableLineNumberingParam": {
          "AllowEdit": true,
          "Value": true
        },
        "EnableActivityOnlineRecommendationsParam": {
          "AllowEdit": true,
          "Value": true
        },
        "EnforceReleaseNotes": null,
        "AnalyzeOnPublishParam": {
          "AllowEdit": false,
          "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"
        },
        "ModernBehaviorParam": {
          "AllowEdit": false,
          "Value": false
        },
        "ObjectRepositoryEnforcedParam": {
          "AllowEdit": false,
          "Value": false
        },
        "UseConnectionServiceParam": {
          "AllowEdit": true,
          "Value": false
        }
      },
}

Für die meisten Optionen sind zwei Parameter verfügbar:

  • „AllowEdit“: Gibt an, ob Benutzer die von der Governance-Datei konfigurierte Standardeinstellung ändern dürfen oder nicht (true: zulassen, false: verweigern).
  • „Value“: Gibt die Standardeinstellung an, wie in den folgenden Tabellen beschrieben.

Unter „Workflow“:

Studio Setting

Parameters

Value

Use C# Language

"DefaultProjectLanguageParam" 1

CSharp
If "AllowEdit" is false - Allow only C#.
If "AllowEdit" is true - Set the default language to C# and allow users to change the default language.
VisualBasic
If "AllowEdit" is false - Allow only VB.
If "AllowEdit" is true - Set the default language to VB and allow users to change the default language.

Create docked annotations

"DockedAnnotationsParam"

Either true or false.

Default project target framework

"DefaultProjectFrameworkParam" 1

"Classic"
If "AllowEdit" is false - Allow only Windows - Legacy (.NET Framework 4.6.1).
If "AllowEdit" is true - Set the default target to Windows - Legacy and allow users to change the target framework.
"Modern"
If "AllowEdit" is false - Allow only Windows (.NET 5.0).
If "AllowEdit" is true - Set the default target to Windows (.NET 5.0) and allow users to change the target framework.
"Cross-platform"
If "AllowEdit" is false - Allow only Cross-platform (.NET 5.0).
If "AllowEdit" is true - Set the default target to Cross-platform (.NET 5.0). and allow users to change the target framework.

The parameters under "AllowedProjectFrameworks" determine the target frameworks allowed when creating or opening a project in the Studio profile. To enable a framework, set its parameter to true.
Note: This setting cannot be configured from the Studio UI

"AllowedProjectFrameworks" 1

Either true or false. for each of the following:
"Classic" (Windows - Legacy, .NET Framework 4.6.1)
"Modern" (Windows, .NET 5)
"Cross-platform" (Cross-platform, .NET 5)

Use Smart File Paths

"UseSmartFilePathsParam" 2

Either true or false.

Enable line numbering

"EnableLineNumberingParam" 2

Either true or false.

Enable AI activity suggestions

"EnableActivityOnlineRecommendationsParam"

Either true or false.

Make the Release Notes field in the Publish wizard mandatory
Note: This setting cannot be configured from the Studio UI.

"EnforceReleaseNotes"

Either true or false.

Slim View for Collapsed Activities

"IsCollapsedViewSlimParam"

Either true or false.

Enforce Analyzer before Publish

"AnalyzeOnPublishParam"

Either true or false.

Enforce Analyzer before Run

"AnalyzeOnRunParam"

Either true or false.

Analyze RPA XAML Files Only

"AnalyzeRpaXamlsOnlyParam"

Either true or false.

Workflow Analyzer Rules Location

"AdditionalAnalyzerRulePathParam"

null - Use the default location.
To change the location, enter the path to the folder where custom rules are stored between quotation marks.

Project Path

DefaultProjectFolderParam

null - Use the default location.
To change the location, enter the path to the folder where custom rules are stored between quotation marks.

Publish Process URL

"DefaultProcessPublishUrlParam"

null - Use the default location.
To change the location, enter the path between quotation marks.

Publish Library URL

"DefaultLibraryPublishUrlParam"

null - Use the default location.
To change the location, enter the path between quotation marks.

Publish Project Templates URL

"DefaultTemplatePublishUrlParam"

To change the location, enter the path between quotation marks.

Use Modern for new projects

"ModernBehaviorParam"

Either true or false.

Object Repository enforced

"ObjectRepositoryEnforcedParam"

Either true or false.

Default to managed connections

"UseConnectionServiceParam"

Either true or false.

1 – Änderungen werden nur im Studio-Profil wirksam.
2 – Änderungen werden nur im StudioX-Profil wirksam.

Unter "ObjectBrowser":

Studio Setting

Parameters

Value

Send anonymous UI Descriptors

"SendUiDescriptors"

Either true or false

Senden von Studio-Nutzungsdaten an Ihre Organisation

Mit den Parametern unter „Telemetry“ können Sie das Senden von Studio-Nutzungsdaten an eine Application Insights-Ressource in Ihrem Azure-Portal aktivieren. Mit diesen Daten können Sie Benutzeraktivitäten in Studio nachverfolgen und analysieren. Um diese Funktion zu aktivieren, geben Sie den Instrumentierungsschlüssel der Application Insights-Instanz in den Parameter "instrumentation-keys" ein.

{
       "Telemetry": {
        "TelemetryOptions": {
          "TelemetryOptionsDictonary": {
            "instrumentation-keys": ""
        }
      }
   }
}

In der folgenden Tabelle finden Sie Informationen zu den Telemetriedaten, die an Application Insights gesendet werden.

Action

Event Name

Data Collected

Studio is started

StudioStarted

Windows user ID
Session ID

Studio is closed

StudioClosed

Windows user ID
Session ID
Session duration

Project is opened

OpenProject

Windows user ID
Session ID
Project name

Project is created

NewProject

Windows user ID
Session ID
Project name

Project is run

RunProject1
StartDebug 2

Windows user ID
Session ID
Project name

File is run

RunDocument1
StartDebug 2

Windows user ID
Session ID
Project name

Project is debugged

DebugProject1
StartDebug 2

Windows user ID
Session ID
Project name

File is debugged

DebugDocument1
StartDebug 2

Windows user ID
Session ID
Project name

Run to this Activity is executed

Designer_RunTo

Windows user ID
Session ID
Project name

Project is published

PublishProject

Windows user ID
Session ID
Project name
Orchestrator URL
Folder name
Publish location (feed)

Activity package is installed

PackageAdded

Windows user ID
Session ID
Package name
Package version
Project name

Activity is added to a project

S.Activities.ActivityAdded

Windows user ID
Session ID
Activity name
Package name
Package version

Target is indicated in UI Automation activity

S.Activities.PropertyChanged

Windows user ID
Session ID

1 – Verfügbar ab Studio 2021.10.4.
2 - Das Ereignis „StartDebug“ verfolgt den Zielroboter, der den Vorgang ausgeführt hat – den lokalen Roboter (Lokal) oder einen Remote-Roboter (Orchestrator für die Unattended-Roboterverbindung, Remote für Remote-Maschinenverbindung).

Verwenden der Daten in Application Insights

In addition to the use case scenarios described in the official Microsoft documentation, you can test and build queries using Log Analytics in the Azure Monitor of your Azure Insights instance. To see all possible data for an event, you can build a simple query that will explore all its occurrences in the predefined time range. For example:

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.

Event

Example Query

Query Description

StudioStarted
Studio is started

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

How many times per day Studio was opened in the last 30 days, excluding the current day.

StudioClosed
Studio is closed

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

How many times per day Studio was closed in the last 30 days, excluding the current day.

StudioClosed
Studio is closed

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

The average daily session duration for the last 30 days, excluding the current day (in minutes rounded to two decimal points).

OpenProject
Project is opened

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

How many times per day a project was opened in the last 30 days, excluding the current day.

NewProject
Project is created

customEvents
| where name == "NewProject"
| 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

How many projects and of what type were created in the last 30 days, excluding the current day.

StartDebug
Project is run or debugged / File is run or debugged

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

How many runs were started and for what target in the last 30 days, excluding the current day.

Designer_RunTo
Run to this Activity is executed

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

How many times Run to this Activity was executed in the last 30 days, excluding the current day.

PublishProject
Project is published

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

How many projects were published in the last 30 days, excluding the current day.

PackageAdded
Activity package is installed

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

How many packages and the names of the packages that were installed in the last 30 days, excluding the current day.

S.Activities.ActivityAdded
Activity is added to a project

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

How many activities were added in the last 30 days, excluding the current day. Includes the name and version of the package each activity comes from. 3

S.Activities.PropertyChanged
Target is indicated in UI Automation activity

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

How many times properties of used activities were changed in the last 30 days, excluding the current day. Includes the activity names and the name of each property that was changed.

In der folgenden Tabelle sind zusätzliche Parameter aufgeführt, die standardmäßig in Ereignissen enthalten sind.

Parameter

Description

In-Query Representation (on a selected event)

customDimensions

A detailed collection of data and parameters related to every event.

customEvents
| where name == "StudioStarted"
| extend customDimensions

Context

A part of the customDimensions collection that handles details about the project, including profile, user ID, license type, robot type, session ID.

customEvents
| where name == "StudioStarted"
| extend Context = parse_json(customDimensions.Context)

Environment

A part of the customDimensions collection that consists of the machine name, OS version, and username.

customEvents
| where name == "StudioStarted"
| extend Environment = parse_json(customDimensions.Environment)

Mit Log Analytics können Sie jeden Datentyp explizit erweitern, der Teil der genannten Parameter ist, um als Filter zu dienen oder als zusätzliches zusammengefasstes Element verwendet zu werden. Klicken Sie dazu auf das Drei-Punkte-Symbol neben einem Datenelement im Protokoll und wählen Sie dann, ob Sie die Daten erweitern oder als Filter verwenden möchten.

In der folgenden Tabelle finden Sie Beispiele zum Erweitern oder Filtern von Daten.

Data Example

In-Query Representation (on a selected event)

ApplicationName (extend)

customEvents
| where name == "StudioStarted"
| extend ApplicationName = tostring(customDimensions.ApplicationName)

LicenseType (extend)

customEvents
| where name == "StudioStarted"
| extend LicenseType = tostring(parse_json(tostring(customDimensions.Context)).LicenseType)

OSVersion (filter included)

customEvents
| where name == "StudioStarted"
| where parse_json(tostring(customDimensions.Environment)).OSVersion == "Microsoft Windows NT 10.0.19043.0"

CurrentLanguage (filter included)

customEvents
| where name == "StudioStarted"
| where parse_json(tostring(customDimensions.Context)).CurrentLanguage == "en"

Bekannte Probleme (Known Issues)

  • Das Ereignis NewProject wird zweimal generiert: Zuerst, wenn der Benutzer auswählt, ein neues Projekt in der Studio Backstage-Ansicht zu erstellen, und erneut, wenn der Benutzer im neuen Projektdialogfeld auf die Schaltfläche Erstellen klickt. Um das Ereignis nicht zweimal zu zählen, muss ein nicht leerer ActionArgs-Parameter in den Abfragen aufgenommen werden, wie in der Abfrage aus der Beispieltabelle.
  • Das Ereignis PublishProject zeigt nur Details für Projekte an, die im Orchestrator veröffentlicht wurden.
  • Das Ereignis S.Activities.ActivityAdded zeigt eine falsche Paketversion an.

Workflow-Analyseregeln

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.

Bemerkungen

  • The custom ruleset can be defined beforehand in a separate file of type .json, and delivered through a dll external assembly or custom activity pack. Read more about Building Custom Rules for Workflow Analyzer.
  • Die Governance-Datei kann keine Anmeldeinformationen bereitstellen, was bedeutet, dass sichere Feeds nicht unterstützt werden.
  • Wenn ein benutzerdefinierter Regelsatz erzwungen wird, können Benutzer keine Änderungen an Workflow-Analyseregeln vornehmen.
  • Wenn auf einen benutzerdefinierten Regelsatz nicht verwiesen oder er nicht in die Governance-Datei eingebettet wurde, werden die Standardregeln für die Workflow-Analyse verwendet. Wenn der Abschnitt „Analyse“ nicht erwähnt wird, wird die Governance für die Workflow-Analyse nicht erzwungen. Wenn der Abschnitt erwähnt wird, auch wenn er leer ist, wird die Verwaltung von Regeln in Studio deaktiviert.
  • Beim Erzwingen der Governance werden integrierte Studio- oder UiPath-Aktivitätspakete standardmäßig deaktiviert, sofern in der Governance-Datei oder dem benutzerdefinierten Regelsatz nichts anderes erwähnt wird.

Erzwingen von Regeln

Es gibt zwei Möglichkeiten, den benutzerdefinierten Regelsatz in der uipath.policies.config-Governance-Datei zu verwalten:

  1. Zeigen Sie auf den Regelsatz, der sich unter einem der folgenden Pfade befindet:
  • auf der lokalen Maschine;
  • gemeinsam auf einem Netzwerkserver oder Computer, der durch den UNC-Pfad identifizierbar ist;
  • im freigegebenen Blobspeicher, der über den http(s)-Pfad identifizierbar ist.
  1. Betten Sie den benutzerdefinierten Regelsatz ein, indem Sie Regeln aktivieren oder deaktivieren und dabei deren IDs, Parameter und Fehlerstufen erwähnen.

Alle benutzerdefinierten Regeln müssen im Abschnitt "Analyzer" referenziert oder hinzugefügt werden. Regeln und Zähler müssen in ihre eigenen Abschnitte unterteilt werden, wie unten dargestellt:

{
    "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": []
            }]
        }
    }
}

Parameters/Sections

Values

"AllowEdit"

If set to true, governance settings are passed as defaults allowing the user to make changes to rules.
If set to false, no changes can be made to any rules.
If the parameter is not added, by default, users are restricted from editing rules.

"ReferencedRulesConfigFile"

Path to .json ruleset
Use null to enforce rules from "EmbeddedRulesConfig"

"EmbeddedRulesConfig"

Holds "Rules" and "Counters"

"Id"

Rule ID, ex. ST-NMG-001

"IsEnabled"

Either true or false

"Parameters"

Holds the rule parameter's **Name** and **Value**
Use [] if the rule doesn't have parameters.

"Name"

The parameter's name written between quotation marks.

"Value"

The parameter's value written between quotation marks
Can be null

"ErrorLevel"

Either Error, Warning, Info or Verbose.

"Counters"

Holds parameters for counters: "Id", "IsEnabled", "Parameters" 1.

1 - Da Zähler keine Parameter haben, verwenden Sie [].

Wenn der Parameter AllowEdit auf true festgelegt ist, kann der Benutzer die im Einstellungsfenster „Workflow-Analyse“ verfügbaren Regeln ändern. Wenn Änderungen vorgenommen werden, werden sie beim Neustart von Studio beibehalten.

Durchsetzung der Governance-Richtlinie

Verwenden einer lokalen Datei

Wenn die Governance-Datei lokal gespeichert ist, muss sie sich unter folgendem Pfad befinden: %AppData%\UiPath.

Verwenden einer externen Datei

Wenn extern gespeichert, muss der Pfad zur Richtliniendatei mithilfe der Windows-Registrierung oder eines Orchestrator-Assets definiert werden:

To define the file path using the Windows Registry:

  1. Öffnen Sie den Registrierungs-Editor auf dem Computer, auf dem Studio installiert ist.
  2. Suchen Sie den Registrierungsschlüssel Computer\HKEY_CURRENT_USER\Software\UiPath, und drücken Sie die Eingabetaste.
  3. Klicken Sie im Registrierungs-Editor mit der rechten Maustaste, und wählen Sie Neu > Zeichenfolgenwert aus. Geben Sie den GovernanceSource-Namen für den neuen Wert ein. Verwenden Sie keinen anderen Namen für den Wert!
  4. Doppelklicken Sie auf die zu bearbeitende GovernanceSource-Zeichenfolge. Fügen Sie im Feld Wertdaten den Pfad zur uipath.policies.config-Datei hinzu, und klicken Sie auf OK.

Der Registrierungsschlüssel sollte wie folgt aussehen:

To define the file path using an Orchestrator asset:

  1. Wählen Sie in Orchestrator Mandant > Ordner aus und fügen Sie einen neuen Ordner mit dem Namen uipath.settings.config hinzu.
  2. Weisen Sie dem Ordner die Benutzer zu, für die die Governance-Richtlinie erzwungen werden soll.
  3. Erstellen Sie im Ordner uipath.settings.config ein neues Asset und konfigurieren Sie es wie folgt:
    • Asset-Name –- uipath.studio.governancesource.
    • Typ – Text.
    • Globaler Wert – Wählen Sie diese Option aus und geben Sie den vollständigen Pfad zur Datei uipath.policies.config in das Textfeld ein.
      Optional können Sie verschiedene Richtlinien für verschiedene Benutzer anwenden, indem Sie den einzelnen Benutzern Werte mit Pfaden zu verschiedenen Dateien hinzufügen.

Verwenden eines Orchestrator-Assets

  1. Wählen Sie in Orchestrator Mandant > Ordner aus und fügen Sie einen neuen Ordner mit dem Namen uipath.settings.config hinzu.
  2. Weisen Sie dem Ordner die Benutzer zu, für die die Governance-Richtlinie erzwungen werden soll.
  3. Erstellen Sie im Ordner uipath.settings.config ein neues Asset und konfigurieren Sie es wie folgt:
    • Asset-Name – uipath.studio.governancesource.
    • Typ – Text.
    • Globaler Wert – Wählen Sie diese Option aus und fügen Sie den vollständigen Inhalt der Datei uipath.policies.config in das Textfeld ein.
      Optional können Sie verschiedene Richtlinien für verschiedene Benutzer anwenden, indem Sie den einzelnen Benutzern Werte hinzufügen und unterschiedliche Parameter einfügen.

📘

Hinweis:

Enforcing a governance policy using an Orchestrator asset that references the file path or holds the contents of the file requires Orchestrator v2020.10 or later with modern folders.

Anwenden und Rangordnung

Sobald eine Richtlinie definiert ist, wird sie nach dem Neustart von Studio angewendet.

Eine Meldung wird im Einstellungsfenster Workflow-Analyse, im Fenster Feedback senden, in der Registerkarte Einstellungen in der Backstage-Ansicht, sowie im Fenster Pakete verwalten angezeigt.

Studio wendet die Governance-Richtlinie mit der folgenden Rangfolge an: Automation Ops > uipath.studio.governancepolicy > uipath.studio.governancesource > Registrierungsschlüssel > Lokale Datei.

Wenn die Governance-Richtlinie für den Benutzer entfernt wird, werden Einstellungen, die über die Governance-Datei erzwungen wurden, als Standardeinstellungen beibehalten. Jetzt hat der Benutzer jedoch die Möglichkeit, Einstellungen zu ändern, die eingeschränkt wurden, als die Governance-Richtlinie vorhanden war.

Updated 5 days ago

Governance


Auf API-Referenzseiten sind Änderungsvorschläge beschränkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.