Skylar Automation includes the following tools for creating custom integrations:
- iscli. Skylar Automation includes a command-line tool called iscli (Skylar Automation Command Line Interface). When you install Skylar Automation, iscli is automatically installed. The iscli allows you to upload Skylar Automation applications, steps, and configuration objects. For more information, see the section on iscli.
- IS API. Skylar Automation includes an API. When you install Skylar Automation, the API is available. For more information, see the section on the API.
- ipaascore.BaseStep class. This Python class is included with Skylar Automation, and it contains multiple pre-defined functions that you can use when you are writing or editing a step. For more information, see the section on ipaascore.BaseStep class.
- Base Steps SyncPack. The Base StepsSyncPack includes a number of basic steps that perform common API calls. For more information, see Default Steps.
In addition, you can contact your ScienceLogic Customer Success Manager (CSM) to get access to the following tools, which are not included in a Skylar Automation system:
- SyncPack Cookiecutter. Provides a template that you can use to create SyncPacks in a repeatable manner. For more information see Generating the SyncPack Structure.
- SyncPack SDK. Contains a functional environment for developing and testing SyncPacks without the need for a full Skylar Automation system. For more information see Using the SyncPack SDK.
- SyncPack Pytest Fixtures. Allows unit test coverage of individual steps without the need for a full Skylar Automation system. Included into the SyncPack SDK. For more information see SyncPack Pytest Fixtures.
iscli
Skylar Automation includes a command line tool called iscli. When you install Skylar Automation, iscli is automatically installed. The iscli tool allows you to upload Skylar Automation applications, steps, and configurations.
To access the iscli tool:
-
Either go to the console of the Skylar Automation system or use SSH to access the server.
-
Log in as isadmin with the appropriate password.
-
Type the following at the command line:
iscli -h
Syntax
To upload a step:
iscli -u -s -f <path_and_name_of_step_file>.py -H <hostname_or_IP_address_of_powerflow> -P <port_number_of_http_on_powerflow> -U <user_name> -p password
where
- <path_and_name_of_step_file> is the full pathname for the step.
- <hostname_or_IP_address_of_powerflow> is the hostname or IP address of Skylar Automation.
- <port_number_of_http_on_powerflow> is the port number to access Skylar Automation. The default value is 443.
- <user_name> is the user name you use to log in to Skylar Automation.
- password is the password you use to log in to Skylar Automation.
To upload an application:
iscli -u -a -f <path_and_name_of_application_file>.py -H <hostname_or_IP_address_of_powerflow> -P <port_number_of_http_on_powerflow> -U <user_name> -p password
where:
- <path_and_name_of_application_file> is the full pathname for the application.
- <hostname_or_IP_address_of_powerflow> is the hostname or IP address of Skylar Automation.
- <port_number_of_http_on_powerflow> is the port number to access Skylar Automation. The default value is 443.
- <user_name> is the user name you use to log in to Skylar Automation.
- password is the password you use to log in to Skylar Automation.
To upload a configuration object:
iscli -u -c -f <path_and_name_of_configuration_file>.py -H <hostname_or_IP_address_of_Skylar Automation> -P <port_number_of_http_on_Skylar Automation> -U <user_name> -p <password>
where:
- <path_and_name_of_configuration_file> is the full pathname for the step.
- <hostname_or_IP_address_of_Skylar Automation> is the hostname or IP address of the Skylar Automation system.
- <port_number_of_http_on_Skylar Automation> is the port number to access the Skylar Automation system. The default value is 443.
- <user_name> is the user name you use to log in to the Skylar Automation system.
- <password> is the password you use to log in to the Skylar Automation system.
List of Arguments
The following is a list of arguments you can use in the iscli tool:
- -h or --help. Help message.
- -H or --host. Hostname of content store. If left blank, default from config is used.
- -P or --port. Port of content store. If left blank, default from config is used.
- -U or --username. Username used to access content store. If left blank, default is used.
- -p or --password. Password used to access content store. If left blank, default is used.
- -u or --upload. Upload data to content store. Requires -f tag and a version to be used.
- -f or --fileLocation. File path of SyncPacks, Skylar Automation applications, steps, and configuration objects to upload. Note that while you can bulk upload applications, steps, and configuration objects, you cannot bulk upload SyncPacks.
- -c or --configuration.
- -a or --application. Use the iscli tool to interact with an application.
- -s or --step. Use the iscli tool to interact with a step.
-
-i or --insecure. Upload with an insecure (http) connection.
-
-k or --syncpack. Use the iscli tool to interact with a SyncPack.
-
-A or --activate. Activate a SyncPack. Requires -n, -v tag. -F is optional to force the activation and the tag -I to install the SyncPack.
-
-I or --install. Install a SyncPack. Requires -n, -v tag. -F is optional to force the installation.
-
-n or --name. Name of the SyncPack that will be activated.
-
-V or --version. Version of the SyncPack that will be activated.
-
-F or --force. Force a SyncPack activation or installation.
-
-O or --overwrite. Specify if non-SyncPack content will be overwritten.
-
-l or --license. Use the CLI to license your IS system.
-
-e or --email. Licensing: Customer Email.
-
-C or --customer. Licensing: Customer Name.
-
-o or --output. Licensing: Path to output license file.
You will use the following commands most often:
- Upload an application file. iscli –uaf <application-file>
- Upload a configuration file. iscli –ucf <configuration-file>
- Upload a step file. iscli –usf <step-file>
PowerFlow API
Skylar Automation includes an API. When you install Skylar Automation, the API is available.
Viewing API Documentation
To view the full documentation for the Skylar Automation API:
- From the Skylar Automation system , copy the /opt/iservices/scripts/swagger.yml file to your local computer.
- Open a browser session and go to editor.swagger.io.
- In the Swagger Editor, open the File menu, select Import File, and import the file swagger.yml. The right pane in the Swagger Editor displays the API documentation.
You can also access the full documentation for the Skylar Automation API by going to the endpoint /api/v1/docs. The documentation can be downloaded if needed by going to /api/v1/swagger?download=true.
You can also access the full documentation for the Skylar Automation API in the Skylar Automation user interface:
-
Click on your username in the top right corner of Skylar Automation.
-
Select About from the drop-down menu.
-
Click API Documentation. This will open a new tab with the full Skylar Automation API documentation.
Available Endpoints
POST
/api/v1/apikeys/. Add a new API key.
/api/v1/applications. Add a new application or overwrite an existing application.
/api/v1/applications/{appName}/run. Run a single application by name with saved or provided configurations.
/api/v1/applications/run. Run a single application by name.
/api/v1/configurations. Add a new configuration or overwrite an existing configuration.
/api/v1/roles/owner. Add a new owner assigned a specific role.
/api/v1/schedule. Add a new scheduled Skylar Automation application.
/api/v1/status. Runs the "Skylar Automation Control Tower HealthCheck" application to generate health status data.
/api/v1/steps. Add a new step or overwrite an existing step.
/api/v1/steps/run. Run a single step by name.
/api/v1/syncpacks/{syncpackName}/install. Install a specific SyncPack version by name.
/api/v1/tasks/{taskId}/replay. Replay a specific Skylar Automation application. Replayed applications run with the same application variables, configuration, and queue as the originally executed application.
/api/v1/tasks/{taskId}/revoke. Terminate a specific task or application. By default, this command will not terminate the current running task.
/api/v1/tasks/{appId}/revoke. Terminate all tasks associated with a specific application.
/api/v1/me/widgets/{widget_id}. Creates a new widget or updates a existing widget used on the Skylar Automation Control Tower page.
GET
/api/v1/about. Retrieve version information about the packages used by this Skylar Automation system, including the version of Skylar Automation.
/api/v1/apikeys. Retrieve all available API keys saved in the Skylar Automation system.
/api/v1/apikeys/{api_key}. Get details of a single API key.
/api/v1/applications. Retrieve a list of all available applications on this Skylar Automation system.
/api/v1/applications/{appName}. Retrieve a specific application.
/api/v1/applications/{appName}/logs. Retrieve the logs for the specified application.
/api/v1/cache/{cache_id}. Retrieve a specific cache to gather information about the user interface and the Skylar Automation applications.
/api/v1/cache/{cache_key}. Retrieve cache documents, but only if this cache document was explicitly saved to be exposed to the API. You will need to save the cache document using the latest version of the "SaveToCache" step in the Base Steps SyncPack. This step has a step parameter called "read_from_api" that lets you decide whether the cache document can be requested from the API.
/api/v1/configurations. Retrieve a list of all configurations on this Skylar Automation system.
/api/v1/configurations/{configName}. Retrieve a specific configuration.
/api/v1/license?type=platform. Retrieve license data for this Skylar Automation system.
/api/v1/reports. Retrieve a list of paginated reports.
/api/v1/reports/{reportId}. Retrieve a specific report by ID.
/api/v1/roles. Retrieve a list of available roles on this Skylar Automation system.
/api/v1/roles/owner. Retrieve a list of roles assigned to owners on this Skylar Automation system.
/api/v1/roles/owner/{owner}. Retrieve the role assigned to a specific owner.
/api/v1/sessions. Retrieve a list of sessions for this Skylar Automation system.
/api/v1/sessions/status. Retrieve the Session Management status for this Skylar Automation system.
/api/v1/sessions/username/{username}. Retrieve the session IDs for a specific user.
/api/v1/sessions/{session_id}. Retrieve a specific session from Session Management for this Skylar Automation system.
/api/v1/schedule. Retrieve a list of all scheduled applications on this Skylar Automation system.
/api/v1/status. Retrieve all the health status cache documents without running the "Skylar Automation Control Tower HealthCheck" application.
/api/v1/status?all=true. Retrieve all health metrics for Skylar Automation services and merge all the health status cache documents to return only one JSON response.
/api/v1/status/{service}. Retrieve all health metrics for a specific Skylar Automation service, including the following services: contentapi, couchbase, dexserver, iservices_syncpack_steprunner, iservices_syncpacks_steprunner, skyautocontrol_output, rabbitmq, redis, steprunner. Starting with Skylar Automation version 2.6.0, you can run a GET api/v1/status operation that returns all the health status cache documents without running the HealthCheck application.
/api/v1/steps. Retrieve a list of all steps on this Skylar Automation system.
/api/v1/steps/{stepName}. Retrieve a specific step.
/api/v1/docs/. Swagger user interface to display Skylar Automation API documentation
/api/v1/swagger. Swagger file in JSON format that is consumed by the Swagger UI
/api/v1/swagger?download=true. Swagger in .yml format to download it as a file
/api/v1/swagger?download=true&force_reload=true. Force reload the Swagger file in .yml format to download. If this is not used, the file is cached.
/api/v1/syncpacks. Retrieve a list of all SyncPacks on this Skylar Automation system.
/api/v1/syncpacks/{synpackName}. Retrieve the full details about a specific SyncPack.
/api/v1/syncpacks?only_installed=true. Retrieve a list of only the installed SyncPacks on this system.
/api/v1/syncpacks?only_activated=true. Retrieve a list of only the activated SyncPacks on this system.
/api/v1/tasks/{taskId}. Retrieve a specific task.
/api/v1/webhooks. Retrieve all available webhooks saved in the Skylar Automation system.
/api/v1/me/widgets. Returns a list of all installed widgets used on the Skylar Automation Control Tower page.
/api/v1/me/widgets/{widget_id}. Returns a specific widget using the specified widget ID.
DELETE
/api/v1/apikeys/{api_key}. Delete an API key.
/api/v1/applications/{appName}. Delete a Skylar Automation application by name.
/api/v1/cache/{cache_id}. Delete a cache entry by name.
/api/v1/configurations/{configName}. Delete a configuration by name.
/api/v1/license?type=platform. Delete license data for this Skylar Automation system.
/api/v1/me/widgets/{widget_id}. Delete the specified widget used on the Skylar Automation Control Tower page.
/api/v1/roles/owner. Delete a specific owner role.
/api/v1/schedule. Delete a scheduled Skylar Automation application by ID.
/api/v1/sessions. Delete a list of sessions for this Skylar Automation system.
/api/v1/sessions?all=true. Delete all sessions for this Skylar Automation system.
/api/v1/sessions/status. Delete the Session Management status for this Skylar Automation system.
/api/v1/sessions/username/{username}. Delete the session IDs for a specific user.
/api/v1/sessions/{session_id}. Delete a specific session from Session Management for this Skylar Automation system.
/api/v1/reports/{appName}. Delete a specific report by name.
/api/v1/reports/{reportId}. Delete a specific report by report ID.
/api/v1/steps/{stepName}. Delete a specific step by name.
/api/v1/syncpacks/{spName}. Delete a specific SyncPack by name.