Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
mrainey18
Creator
Creator

Automate Publishing from Test to Prod

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.

4 Replies
JustinDallas
Specialist III
Specialist III

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.

mrainey18
Creator
Creator
Author

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.

JustinDallas
Specialist III
Specialist III

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.

mrainey18
Creator
Creator
Author

Perfect, that would work.  Let me know if you find the ImportAPI and I'll do my own research on it.