Description
Describe the bug
I am attempting to create a subscription to a workbook using a schedule that doesn't exist at creation time. To perform the same action using Tableau Cloud/Server front-end, the user would configure the subscription by specifying the target type (view or entire workbook), format, subject, and schedule.
Versions
Tableau Cloud
Python 3.12.3
TSC library version 3.24
To Reproduce
# Sign-in to server.
with server.auth.sign_in(tableau_auth):
# Ensure the most recent Tableau REST API version is used.
server.use_highest_version()
# Retrieve the user requiring the new subscription.
user = server.users.filter(name='[email protected]')
# Retreive the subscription's content (e.g., workbook, view)
target = server.workbooks.filter(name='North America Sales')
new_subscription = tsc.SubscriptionItem(
subject='North America Sales (demo)',
schedule_id=tsc.ScheduleItem(
name=None,
priority=None,
schedule_type=None,
execution_order=None,
interval_item=tsc.DailyInterval(time(0),
24.0, 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
)
),
user_id=user[0].id,
target=tsc.Target(target[0].id, target_type='Workbook')
)
# Subscribe the user to the target content.
server.subscriptions.create(subscription_item=new_subscription)
Results
What are the results or error messages received?
TypeError: cannot serialize <Schedule#None "None" <DailyInterval start=00:00:00 interval=(24.0, 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')>> { _created_at: None, _end_schedule_at: None, _id: None, _next_run_at: None, _state: None, _updated_at: None, interval_item: <DailyInterval start=00:00:00 interval=(24.0, 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')>, _execution_order: None, _name: None, _priority: None, _schedule_type: None} (type ScheduleItem)
If I swap out the subscription item configuration above for the following that uses a pre-existing schedule, then it works fine.
new_subscription = tsc.SubscriptionItem(
subject='North America Sales (demo)',
schedule_id='f3dcaf7a-9668-4eb2-8c20-2f7c21e82744',
user_id=user[0].id,
target=tsc.Target(target[0].id, target_type='Workbook')
)