Qlik Sense Repository Service API wrapper built using Python
Python wrapper for Qlik Sense Repository Service.
Please browse for full documentation https://clintcarr.github.io/qrspy/
#Examples
qrs = qrspy.ConnectQlik(server='qs2.qliklocal.net:4242', certificate=('/home/user/Documents/certs/qs2/client.pem', '/home/user/Documents/certs/qs2/client_key.pem'), root='/home/user/Documents/certs/qs2/root.pem')
qrs = qrspy.ConnectQlik(server = 'qs2.qliklocal.net:4242',
certificate = ('c:/certs/qs2/client.pem', 'c:/certs/qs2/client_key.pem'),
root = 'c:/certs/qs2/root.pem')
qrs = qrspy.ConnectQlik(server = 'qs2.qliklocal.net:4242',
credential = 'qliklocal\\administrator',
password = 'Qlik1234')
If you are experience a SSL Error which states that the hostnames do not match. Try removing the root
certificate from your ConnectQlik
function. This will set the SSL verify to False which bypasses certificate validation completely.
method = ['get', 'put', 'post, delete']
for i in method:
qrs.get_apiendpoints(i)
apps = qrs.get_app('stream.name eq', 'Monitoring Apps')
for i in range(len(apps)):
qrs.export_app(apps[i]['id'], 'c:/dev/export/', r'%s.qvf' % apps[i]['name'])
apps = qrs.get_app()
for i in range(len(apps)):
if apps[i]['stream'] is None:
print (apps[i]['id'] + ' ' + apps[i]['name'])
import os
dir = os.listdir('/home/user/Documents/export')
for file in dir:
if file.endswith('.qvf'):
qs4.import_app((os.path.splitext(file)[0]), '/home/user/Documents/export/%s' % file)
apps = qrs.get_app('Name eq', 'MapIdevio')
appid = apps[0]['id']
stream = qrs.get_stream('Name eq', 'NewStream')
streamid = stream[0]['id']
qrs.publish_app(appid, streamid, 'MapsPub')
apps = qrs.get_app()
for i in range(len(apps)):
qrs.migrate_app(apps[0]['id'])
qrs.export_certificates('PC1', 's', True, 'Windows')
qrs.set_license(11111, 123456789, 'Foo', 'Bar', None)
qrs.import_users(r'c:\\dev\\csv\\users.txt')
x = qrs.get_useraccesstype()
for i in range(len(x)):
print (x[i]['id'])
x = qrs.get_useraccesstype()
for i in range(len(x)):
qrs.delete_useraccesstype (x[i]['id'])
import os
dir = os.listdir('C:\\Dev\\IdevioMaps-QSS-Extensions-5.7.4\\')
for file in dir:
if file.endswith('.zip'):
qrs.import_extension('c:\\Dev\\IdevioMaps-QSS-Extensions-5.7.4\\'+file)
appobj = qrs.get_appobject()
appobj = qrs.get_appobject()
for i in range(len(appobj)):
if appobj[i]['name'] == 'Test Sheet':
qrs.publish_appobject(appobj[i]['id'])
appobj = qrs.get_appobject()
for i in range(len(appobj)):
if appobj[i]['name'] == 'Test Sheet':
qrs.unpublish_appobject(o[i]['id'])
qrs.delete_appobject(o[i]['id'])
appobj = qrs.get_appobject()
for i in range(len(appobj)):
if appobj[i]['name'] == 'Test Sheet':
qrs.delete_appobject(o[i]['id'])