4 Replies Latest reply: Jan 12, 2018 1:04 PM by Michael Rainey RSS

    Automate Publishing from Test to Prod

    Michael Rainey

      I am trying to come up with a way to automate the process of publishing from our test server to our prod server.  I have an integration that can confirms with the project leader that the Dashboard is ready to be published and that moves the ready integrations from one server to the other.

       

      Is there a way to auto publish the dashboards or a folder I can copy them into?  I know the app folder has the current dashboards in it but they are not named they have code titles.

       

      Any help with this would be great.

        • Re: Automate Publishing from Test to Prod
          Justin Dallas

          You could use a Powershell/Bash request to automate the exporting of apps, and then import them into Prod.

           

          Qlik Sense Export Apps

           

          App: Export app (call 1 of 2) ‒ Qlik Sense Developers

           

           

           

          App: Export app (call 2 of 2) ‒ Qlik Sense Developers

           

          I'm not sure if all this stuff works because it's listed as being part of the QlikSense 1.0 API, but it's still a good starting point.

            • Re: Automate Publishing from Test to Prod
              Michael Rainey

              This is good for getting them from Test but we really need help with getting them into Prod and possibility publishing over a older version of an App.

               

              Our process currently is Exporting all dashboard which are ready for production to a specific folder.  That folder is checked every hour.  Anything in there is moved to the prod server into another specific folder.

              We then have our Admin publish them from this folder but if we could have that be automated it would save him time and we wouldnt have to worry about accidentally publishing over the wrong application.

               

              I looked in Apps and all the names are not the same as they would be if one would export them out so over writing them there is impossible.  Unless there is a way to turn on conventional naming or name the QVF file the same as the App name.  Either way we could back up that folder before copying over any of the apps before moving them into that folder.  Then the changes in the app would take place the next time someone tried load the dashboard.

                • Re: Automate Publishing from Test to Prod
                  Justin Dallas

                  Yes, so we would need to find the corresponding API call for ImportApp which for some reason I'm not able to find.  The exported file may have a GUID for a filename, but during the script, we can keep track of the filename and even export the GUID-Filename relationship to another file which will be used at a later date. Your pseudo-code/shell would look like something like this.

                   

                   

                  Export Pseudo-Code

                  var list = qs.api.listapps().filter(predicatething);

                  var dict = lists.select( n => (n.guid, n.name));

                  //write dict to textfile.txt

                  list.ForEach( n => n.SaveQvF(););


                  Import Pseudo-Code

                  var dictCsv = readDictIntoCsv();

                  foreach( n in dictCsv )

                  {

                       var appLocation = ....

                       var importResult = qs.api.importapp(n.stream, n.appname, overwrite=true)

                  }

                   

                  Unfortunately, I have yet to find the ImportApp service call.