Robot Framework
This connector writes to an external system via a Robot Framework script.
This page is about Robot Framework
Overview
Robot Framework is an open-source automation framework which can be used for robotic process automation (RPA). This framework is easy to use thanks to its human-readable syntax. It has a modular architecture that can be extended by libraries implemented with Python or Java. These libraries provide various tools to interact with a managed system.
Prerequisites
Implementing this connector requires the agent to include the following elements:
- Python 3.7 or above. Specific Robot Framework libraries may require a specific Python version;
- Python folder location in the
PATHenvironment variable list and the location of its subfolderScripts; - Robot Framework: use
pip install robotframeworkin the command prompt. If the installation ran correctly,robot.exeshould be in your path. You can confirm this by runninggcm robotin a powershell console.
Export
There are no export capabilities for this connector.
Fulfill
This connector can create, update and/or delete any entity linked to the managed system.
Configuration
This process is configured through a
Connection in the UI and/or
the XML configuration, and in the appsettings.agent.json > Connections section:
appsettings.agent.json
{
...
"Connections": {
...
"<ConnectionIdentifier>": {
...
}
}
}
The identifier of the connection and thus the name of the subsection must:
- be unique.
- not begin with a digit.
- not contain
<,>,:,",/,\,|,?,*and_.
The following example fills in a CSV file by using the script
FulfillRobotFramework.robot:appsettings.agent.json
{
"Connections": {
...
"RobotFrameworkFulfillment": {
"RobotFrameworkScriptPath": "C:/identitymanagerDemo/Scripts/FulfillRobotFramework.robot",
"Options": {
"Message": "Hello"
}
}
}
}
Setting attributes
| Name | Details |
|---|---|
| RobotFrameworkScriptPath required | Type String Description Path to the executed Robot Framework script (.robot). |
| Options optional | Type String Pair List Description List of key-value pairs for all the variables required by the PowerShell script. Example "Options": { "Login": "admin", "Password": "secret" } Access these options in the script using the following method: ${login}= Get Secure Data Login False ${password}= Get Secure Data Password True Info: when the boolean argument from Get Secure Data is set to True, then the value is stored in the variable and erased from memory, hence not retrievable on next call. This enables control over sensitive data like passwords by defining the lifetime of the variable containing sensitive data. Warning: never use Get Secure Data when Options is empty. |
Write a script
See how to Write a Robot Framework Script to allow provisioning with this connector.
Authentication
Password reset
The script manages password reset.
Credential protection
Data protection can be ensured through:
- Connection, configured in
the
appsettings.encrypted.agent.jsonfile; - an Connection safe;
| Attribute | Naming Convention for the Key in Azure Key Vault |
|---|---|
| Login (optional) | Connections--<identifier>--Options--Login |
| Password (optional) | Connections--<identifier>--Options--Password |
| RobotFrameworkScriptPath | Connections--<identifier>--RobotFrameworkScriptPath |
- A Connection able to store
the attributes from the
Optionssection that are compatible with CyberArk.
Protected attributes are stored inside a safe in CyberArk, into an account whose identifier can be
retrieved by Identity Manager from appsettings.cyberark.agent.json.
For example, consider
LoginandPasswordvalues stored in theRobotFramework_Accountaccount:appsettings.cyberark.agent.json
{
"Connections": {
...
"RobotFrameworkFulfillment": {
"Options": {
"Login": "RobotFramework_Account",
"Password": "RobotFramework_Account"
}
}
}
}