1 of 1 people found this helpful
The refresh can be run with the following command: Reference-Tableau Server REST API - Tableau using the schedule-id(found with the Query Schedule command linked below) as the task-id in the refresh command.
As for the follow up question, Tableau schedules can be queried using the following command: Reference-Tableau Server REST API - Tableau
More information can be found in this thread: What's the relationship between schedule task id's and extract ids in REST API?
Hope this helps Jeff!
Hey Patrick. The way I'm reading the "more info thread" is that they are querying and getting back a collection of the extracts (i.e. for a given schedule) and then they are running the items in this collection. This will work as well, but it's not as straight forward as tabcmd runschedule.
Have you tried plugging in the schedule id to the task id on the run extract refresh task? I somehow doubt this will actually work, but I will try it if you say it actually works
FYI. I tried plugging in the schedule id, and it didn't work.
I actually have no solution for you, but I am blown away by this idea to trigger a schedule instead of list of extracts (which I am doing now) How do you make sure the extract doesn't run at the time it is scheduled in Tableau server, just when it is triggered? Do you disable it once it runs until next day/week/month? Please tell me more details.
We query posgresql to check the status of the extract, maybe there is something in workgroup db to indicate if the schedule run successfully?
Hello Iwona. Many of our Tableau defined schedules are in disabled status which doesn't translate into they don't run at all, but rather they are not time triggered by Tableau. Instead they are triggered by our external Enterprise scheduler via tabcmd runschedule. Does this help?
Yes, this is very useful to me. Thank you.
Hi Patrick. I hope all is going well. Have you heard anything internally about the ability to run schedules via the API? It boggles my mind that we can "create schedules", "query schedules", "update schedules", "delete schedules", "add worbooks to a schedule", "add datasources to a schedule", but sadly not be able to run a schedule. https://onlinehelp.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm
Agreed! We're in a similar situation - we connect to a couple datasources from Salesforce so extracts are the only option. When it was just 1 datasource it was simple enough because the API returned an ID that could be used to query the status of the refresh. Now that we're using multiple connections, a "schedule" is really more of a container for a bunch of sources we'd like to refresh at the same time.
I might try "updating" the schedule to run 1 minute from now(), but this feels flimsy. There is a button on the schedule in the server admin to run them all now, hopefully they open this up to API access soon.
There is a fairly easy way to run all the tasks based on one schedule as described here: Run Schedule (or workaround) - in REST API This is what I did instead of running a schedule in tabcmd. Once you have those job IDs you can even monitor and re-trigger them.