Repository navigation
Unable to publish a workbook successfully #1635
Copy link
Copy link
Open
Labels
help wantedA user needs help, may be a mistake, a bug or a feature requestA user needs help, may be a mistake, a bug or a feature requeststale
Description
Describe the bug
I have some code that I have been using for quite some time to publish workbook and also data sources to our on -prem environment. We just migrated to the cloud. While I had to change how we authenticate to the cloud the code to publish a dashboard is not completing.
This is a workbook that is connecting live to a database that is on-prem. That is why I was using the skip_connection_check=True. Which seems to hang for me.
Versions
I'm using version 0.36 right now.
To Reproduce
Here is a snippet of the code I was using originally.
if row['AssetType'] == 'Workbook':
try:
################ PUBLISH WORKBOOK ################
displayviews = gethiddensheets(server, asset.id, dload_path, RunProcessPath)
print(' Publishing Workbook!')
show_tabs = True
if row['ShowTabs'].upper() == 'FALSE':
show_tabs = False
wb_item = TSC.WorkbookItem(name=row['AssetName'], project_id=row['DestinationProjectLUID'], show_tabs=show_tabs)
if displayviews is None:
publishedasset = server.workbooks.publish(wb_item, dload_path, 'Overwrite',
as_job=False, skip_connection_check='True', show_tabs=row['ShowTabs'])
elif displayviews == -1:
print('ERROR: Grabbing Hidden Sheets!')
result = '1|ERROR: Grabbing Hidden Sheets!|'
else:
publishedasset = server.workbooks.publish(wb_item, dload_path, 'Overwrite',
as_job=False, skip_connection_check='True',
hidden_views=displayviews)
except Exception as e:
print('ERROR: Publishing Workbook!')
print("error in level argument", e.args[0])
result = '1|ERROR: Publishing Workbook!|'
return resultNew code to adjust for the hidden views in the wb_item:
if row['AssetType'] == 'Workbook':
try:
################ PUBLISH WORKBOOK ################
#workbook = server.workbooks.get_by_id(asset.id)
#all_connections = server.workbooks.populate_connections(workbook)
displayviews = gethiddensheets(server, asset.id, dload_path, RunProcessPath)
print(' Publishing Workbook!')
show_tabs = True
if row['ShowTabs'].upper() == 'FALSE':
show_tabs = False
wb_item = TSC.WorkbookItem(name=row['AssetName'], project_id=row['DestinationProjectLUID'], show_tabs=show_tabs)
if displayviews is None:
publishedasset = server.workbooks.publish(wb_item, dload_path, 'Overwrite')
elif displayviews == -1:
print('ERROR: Grabbing Hidden Sheets!')
result = '1|ERROR: Grabbing Hidden Sheets!| '
else:
try:
print('Hidden Views')
wb_item.hidden_views = displayviews
publishedasset = server.workbooks.publish(wb_item, dload_path, mode='Overwrite',
skip_connection_check=True,
as_job=False)Results
server.workbooks.publish never returns.
If I remove or change skip_connection_check to false it does complete with the following error.
403132: Forbidden
AssetPromotionRequest failed to establish a connection to your datasource.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
help wantedA user needs help, may be a mistake, a bug or a feature requestA user needs help, may be a mistake, a bug or a feature requeststale
Activity
jorwoods commentedon Jul 14, 2025
The database is on prem, correct? Do you have tableau bridge setup?
JeffreyLine commentedon Jul 14, 2025
Yes the database is on-prem and we do have Tableau bridge setup and the database I'm connecting to does work via the bridge. Now our bridge client happens to be on another server than the one that is running this code. Not sure if that would affect anything.
Quick update. It appears to only be affecting a live connection embedded in a workbook. Or a workbook that is using a server data source that is also a live connection.
github-actions commentedon Jul 24, 2026
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.
jacalata commentedon Jul 30, 2026
Hi @JeffreyLine, following up after a while.
Looking at this again with fresh eyes: this doesn't appear to be a TSC bug. In our code,
skip_connection_check=Truesimply appends&skipConnectionCheck=trueto the publish URL and passes the request straight to the server — TSC has no logic that hangs or times out on its own. The 403132 error you saw withskip_connection_check=Falseis Tableau Cloud reporting that it can't reach your on-prem data source through Tableau Bridge, and the hang withskip_connection_check=Truelooks like the server holding the publish request open while it still tries to validate the connection behind the scenes.Both symptoms are server / Bridge configuration issues rather than something we can address in the client library. Some things worth checking on the Cloud side:
If Bridge pool config looks correct and this still reproduces, I'd recommend opening a Tableau Support ticket — the server-side team can look at the actual connection-check flow, which we can't see from the client.
github-actions commentedon Oct 7, 2026
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.