Unable to publish a workbook successfully
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start at server.workbooks.publish and compare the two provided calls, especially skip_connection_check, as_job, and hidden_views. Reproduce the hang with the on-prem live datasource and cloud environment, then use the reported 403132 result and non-returning call to define and verify the corrected behavior.
Written by the indexing model from the issue text.
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 result
New 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.
- Dominant language
- Python
- Stars
- 716
- Forks
- 446
- Avg merge
- 8d 8h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tableau/server-client-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
tableau/server-client-python#1865 ·
-
in-progress
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
tableau/server-client-python#1829 · 1 comment ·
-
enhancement gap needs investigation
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#1322 · 1 comment ·
-
[Type2] Allow Incremental Refresh type schedules to be added via `server.schedules.add_to_schedule` Openhelp wanted Server-Side Enhancement ui-exists
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#1101 · 3 comments ·
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#783 · 5 comments ·