diff --git a/docs/api-ref.md b/docs/api-ref.md index 589cd2b5..faf6e849 100644 --- a/docs/api-ref.md +++ b/docs/api-ref.md @@ -652,6 +652,115 @@ See [CustomViewItem class](#customviewitem-class)

+#### custom_views.download + +```py +custom_views.download(view_item, file) +``` + +Downloads the definition of a custom view as JSON to a file path or file object. The downloaded file may contain sensitive information. + +**Version** + +This endpoint is available with REST API version 3.21 and up. + +**Parameters** + +| Name | Description | +| :---------- | :----------------------------------------------------------------------------------- | +| `view_item` | The `CustomViewItem` to download. | +| `file` | The file path (`str` or `Path`) or writable file object to write the definition to. | + +**Returns** + +Returns the file path or file object that the custom view definition was written to. + +**Example** + +```py +custom_view = server.custom_views.get_by_id('d79634e1-6063-4ec9-95ff-50acbf609ff5') +server.custom_views.download(custom_view, './my_custom_view.json') +``` + +See [CustomViewItem class](#customviewitem-class) + +
+
+ +#### custom_views.publish + +```py +custom_views.publish(view_item, file) +``` + +Publishes a custom view to Tableau Server from a JSON definition file previously downloaded with `custom_views.download`. + +**Version** + +This endpoint is available with REST API version 3.21 and up. + +**Parameters** + +| Name | Description | +| :---------- | :------------------------------------------------------------------------------------ | +| `view_item` | The `CustomViewItem` describing the custom view to publish. Must have a `name` set. | +| `file` | The file path (`str` or `Path`) or readable file object containing the definition. | + +**Exceptions** + +| Error | Description | +| :--------------------------- | :---------------------------------------------------------------------- | +| `ValueError` | Raised if `file` is not a valid file path or file object. | +| `MissingRequiredFieldError` | Raised if `view_item.name` is not set when passing a file object. | + +**Returns** + +Returns the published `CustomViewItem`, or `None`. + +**Example** + +```py +new_view = TSC.CustomViewItem(name='My Custom View') +published = server.custom_views.publish(new_view, './my_custom_view.json') +print(published.id) +``` + +See [CustomViewItem class](#customviewitem-class) + +
+
+ +#### custom_views.filter + +```py +custom_views.filter(**kwargs) +``` + +Returns a list of custom views that match the specified filters. Fields and operators are passed as keyword arguments in the form `field_name=value`. + +**Supported fields and operators** + +Field | Operators +:--- | :--- +`owner_id` | `eq` +`view_id` | `eq` +`workbook_id` | `eq` + +**Returns** + +Returns a `QuerySet` of `CustomViewItem` objects. + +**Example** + +```py +my_views = server.custom_views.filter(owner_id=user_item.id) +for view in my_views: + print(view.name) +``` + +
+
+ --- ## Data Sources