2 Replies Latest reply: Feb 14, 2018 3:48 AM by Steve Dark RSS

    Reload Qlik Sense App via CMD command

    omar bensalem

      Hi all,

       

      Hope you're doing fine.

       

      As clear in the title, I want to know if there is a way to reload a Qlik Sense App via command line? Maybe?

      If there is, can you please share your knowledge with me?

       

       

      I know that in qlikview, I can do as follow:

       

      "C:\Program Files\QlikView\qv.exe" /R "C:\QlikviewApplications\app.qvw"


      In Qlik Sense, I found this:

      https://help.qlik.com/en-US/sense-developer/3.2/Subsystems/EngineAPI/Content/CreatingAppLoadingData/LoadData/reload-app.htm

       

      The handle of the app is 1. The DoReload method is used.

      The client sends:

      { "jsonrpc": "2.0", "id": 2, "method": "DoReload", "handle": 1, "params": [] }

      The engine returns:

      { "jsonrpc": "2.0", "id": 2, "result": { "qReturn": true }, "change": [ 2 ] }

      The app is reloaded.

      With that,I can reload an app with the Engine API explorer of the dev-hub:

      Capture (1).PNG

      Now, is there anyone who could /want to guide me on how to make this an automated task?

      Imagine I have 5 applications I want to reload them each day like this but without having to do the work manually?

      How to proceed?

      I'm using Qlik Sense Desktop as you can see.

      I found this:

      https://help.qlik.com/en-US/sense-developer/3.2/Subsystems/EngineAPI/Content/GettingStarted/connecting-to-engine-api.htm

       

      Its says:

      After you launch Qlik Sense Desktop and log in, you can connect to the Qlik Engine API using the following URI:

      ws://localhost:4848/app/

      For example, using JavaScript in a browser, make the following call:

      var ws = new WebSocket("ws://localhost:4848/app");

       

      I thus thought that to connect to the Engine API explorer; I had to copy this :

      var ws = new WebSocket("ws://localhost:4848/app");


      Then I used the 3 JSON scripts automatically generated and made sthing like this to execute with EasyPHP:

      <?php

        var ws = new WebSocket("ws://localhost:4848/app");

       

      $a={

        "handle": -1,

        "method": "GetDocList",

        "params": [],

        "outKey": -1,

        "id": 3

      }

      var_dump(json_decode($a));

       

       

      $b={

        "method": "OpenDoc",

        "handle": -1,

        "params": [

        "C:\\Users\\BMC\\Documents\\Qlik\\Sense\\Apps\\reloadTest.qvf"

        ],

        "outKey": -1,

        "id": 2

      }

      var_dump(json_decode($b));

       

       

      $c={

        "jsonrpc": "2.0",

        "id": 3,

        "method": "DoReload",

        "handle": 1,

        "params": [],

        "outKey": -1

      }

      var_dump(json_decode($c));

      ?>


      But, obviously, I got an error :

      Capture (2).PNG

       

      What am I do wrong? what should I change or redo?

      Is there a solution to reload many applications dynamically ?


      It's a really urgent need, hope you'll help !

       

      Thanks,