Abonnieren

UiPath Studio

UiPath Studio-Anleitung

Governance

📘

Hinweis:

Auf dieser Seite wird das dateibasierte Governance-Modell für Studio dokumentiert. Informationen zum Bereitstellen von Richtlinien aus Automation Ops finden Sie im Handbuch zu Automation Ops.

Ü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.

344

📘

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.

Download-Beispiel

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"
    }
}
ParametersValues
"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": {}
        }
    }
}
ParametersValues
"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 SettingParametersValues
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" 1N/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.

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://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json",
                "IsEnabled": true
            }
        ]
    }
}
ParametersValues
"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"]

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

Vorlagenfeeds

Mit den Einstellungen unter TemplatesManager können Sie erzwingen, welche Vorlagenfeeds für Ihre Organisation aktiviert oder deaktiviert sind.

"TemplatesManager": {
        "Feeds": [
          {
            "Name": "GettingStarted",
            "IsEnabled": true
          },
          {
            "Name": "Official",
            "IsEnabled": true
          },
          {
            "Name": "Marketplace",
            "IsEnabled": true
          }
        ]
SettingsParametersValue
TemplatesManagerFeedsNameThe name of the feed written between quotation marks "".
IsEnabledEither true or false.

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 SettingParametersValue
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" 1Either 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
        },
        "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
        }
      },
}

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 SettingParametersValue
Use C# Language"DefaultProjectLanguageParam" 1CSharp
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.
Show Data Manager panel only"ShowDataManagerOnlyParam"Either true or false.
Hide sequences"HideSequencesParam"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.
If "AllowEdit" is true - Set the default target to Windows and allow users to change the target framework.
"Cross-platform"
If "AllowEdit" is false - Allow only Cross-platform.
If "AllowEdit" is true - Set the default target to Cross-platform 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" 1Either true or false. for each of the following:
"Classic" (Windows - Legacy)
"Modern" (Windows)
"Cross-platform" (Cross-platform)
Use Smart File Paths"UseSmartFilePathsParam" 2Either true or false.
Enable line numbering"EnableLineNumberingParam" 2Either 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.
Set the visibility of the message which appears when you open a Windows - Legacy project.
Note: This setting cannot be configured from the Studio UI.
"DisplayLegacyFrameworkDeprecation"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 Push/Check-in"AnalyzeOnPushParam"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.
The parameters under "AllowedPublishFeeds" determine the publish locations available to users. To enable a publish location, set its parameter to true.
Note: This setting cannot be configured from the Studio UI
"AllowedPublishFeeds"Either true or false. for each of the following: "Custom", "PersonalWorkspace", "TenantPackages", "FolderPackages", "HostLibraries", "TenantLibraries", "Local".
PiP Type"DefaultPipTypeParam" ChildSession - New session.
SecondaryDesktop - New desktop.

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

Unter "ObjectBrowser":

Studio SettingParametersValue
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.

ActionEvent NameData Collected
Studio is startedStudioStarted Windows user ID
Session ID
Studio is closedStudioClosed Windows user ID
Session ID
Session duration
Project is openedOpenProject Windows user ID
Session ID
Project name
Project is created 1 NewProject
NewProjectCreated
Windows user ID
Session ID
Project name
Project is run RunProject
StartDebug 2
Windows user ID
Session ID
Project name
File is run RunDocument
StartDebug 2
Windows user ID
Session ID
Project name
Project is debugged DebugProject
StartDebug 2
Windows user ID
Session ID
Project name
File is debugged DebugDocument
StartDebug 2
Windows user ID
Session ID
Project name
Run to this Activity is executedDesigner_RunTo Windows user ID
Session ID
Project name
Project is publishedPublishProject Windows user ID
Session ID
Project name
Orchestrator URL
Folder name
Publish location (feed)
Activity package is installedPackageAdded Windows user ID
Session ID
Package name
Package version
Project name
Activity is added to a projectS.Activities.ActivityAdded Windows user ID
Session ID
Activity name
Package name
Package version
Target is indicated in UI Automation activityS.Activities.PropertyChanged Windows user ID
Session ID

1 – Beim Erstellen eines Projekts wird NewProject generiert, wenn der Benutzer ein neues Projekt in der Studio Backstage-Ansicht erstellt, während NewProjectCreated generiert wird, wenn der Benutzer im Dialogfeld „Neues Projekt“ auf die Schaltfläche Erstellen klickt.
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.

EventExample QueryQuery 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.
NewProjectCreated
Project is created
customEvents
| where name == "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
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.

ParameterDescriptionIn-Query Representation (on a selected event)
customDimensionsA detailed collection of data and parameters related to every event.customEvents
| where name == "StudioStarted"
| extend customDimensions
ContextA 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)
EnvironmentA 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.

280

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

Data ExampleIn-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 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/SectionsValues
"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

📘

Hinweis:

Wir empfehlen, Richtlinien mithilfe von Automation Ops zu konfigurieren und bereitzustellen. Weitere Informationen zum Erstellen von Richtlinien aus Governance-Dateien, die von Studio generiert wurden, finden Sie unter Erstellen einer Governance-Richtlinie im Handbuch zu Automation Ops.

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:

So definieren Sie den Dateipfad mithilfe der Windows-Registrierung:

  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.
    • If the policy file is stored locally, an example for this field would be C:\policies\uipath.policies.config.
    • If the policy file is stored on a server, an example for this field would be 192.168.1.1\policies\uipath.policies.config.

Der Registrierungsschlüssel sollte wie folgt aussehen:

1052

So definieren Sie den Dateipfad mithilfe 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 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.
796

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:

Das Erzwingen einer Governance-Richtlinie mithilfe eines Orchestrator-Assets, das auf den Dateipfad verweist oder den Inhalt der Datei enthält, ist ab Orchestrator v2020.10 oder höher mit modernen Ordnern verfügbar.

794

Anwenden und Rangordnung

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

1014

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.

1014

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.

Aktualisiert vor 7 Tagen

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.