A plugin for publishing drivers developed with JetBrains PyCharm products to CloudShell
When working with Python resource drivers, a plugin enables updating Python drivers straight from PyCharm.
If you don't have PyCharm you can get it from here: https://www.jetbrains.com/pycharm/download/
- First get the latest plugin release from GitHub over here:
https://github.com/QualiSystemsLab/CloudShell-PyCharm-Plugin/releases - Once you have the plugin
.jarfile (intelli-qs-plugin.jar) open the settings window from within PyCharm.
Pressing Ctrl + Alt + S will open the settings window.

- Then, choose "Plugins", and click "Install plugin from disk...".
- Browse and choose to the .jar plugin file (intelli-qs-plugin.jar) you just downloaded.
- Then, click "Restart PyCharm".

- After PyCharm restarts the plugin would be installed.
-
The plugin adds the update and deploy action to two places:
-
Click the Publish button whenever you want to update and deploy the current project.
-
Before running the plugin, you'll need to have a file named
deployment.xmlin the project root folder,
this file tells the plugin how and which driver you're trying to update, you can use this snippet as a template:<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <!-- The address of the Quali server on which to deploy, mandatory --> <entry key="serverRootAddress">localhost</entry> <!-- The port of the Quali server on which to deploy, defaults to "8029" --> <entry key="port">8029</entry> <!-- The unique name of the driver as seen on the portal management, mandatory --> <entry key="driverUniqueName">driverUniqueName</entry> <!-- The server admin username, password and domain to use when deploying, defaults to "admin","admin" and "Global" --> <entry key="username">admin</entry> <entry key="password">admin</entry> <entry key="domain">Global</entry> <!-- Simple patterns to filter when sending the driver to the server separated by semicolons (e.g. "file.xml;logs/"), on top of the patterns specified here the plugin will automatically filter the "deployment/" and ".idea/" folders and the "deployment.xml" file --> <entry key="fileFilters">dont_upload_me.xml</entry> <!-- The folder to refer to as the project source root (if specified, the folder will be zipped and deployed instead of the whole project), defaults to the root project folder --> <entry key="sourceRootFolder">src/MyDriver/</entry> <!-- Decides whether to run the driver from the current project directory for debugging purposes, defaults to "false" --> <entry key="runFromLocalProject">false</entry> <!-- When `runFromLocalProject` is enabled, decides whether to wait for a debugger to attach before running any Python driver code, defaults to "false" --> <entry key="waitForDebugger">false</entry> </properties>
-
Upon activation the plugin collects and zipps the contents of the project (excluding filtered files, see
deployment.xmlfileFiltersproperty),
the new zip is placed in a folder nameddeployment/in the project root. Then, the plugin uses the settings in thedeployment.xmlfile to contact the server and updae the driver files currently online.

