tableau / server-client-python

A Python library for the Tableau Server REST API
https://tableau.github.io/server-client-python/
MIT License
656 stars 420 forks source link

FlowRuns endpoint does not return Pagination XML #1456

Open jorwoods opened 1 week ago

jorwoods commented 1 week ago

Describe the bug A call to Get Flow Runs does not return pagination XML.

Versions Details of your environment, including:

To Reproduce Steps to reproduce the behavior. Please include a code snippet where possible.

import tableauserverclient as TSC
server = TSC.Server("https://url", True)
# auth
flow = server.flows.filter(name="some_flow")[0]
runs = server.flows.filter(flow_id=flow.id, page_size=10)[:]

Results

File "\.venv\Lib\site-packages\tableauserverclient\server\query.py", line 70, in __getitem__
    page_range = range((page - 1) * size, page * size)
                        ~~~~~^~~
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

NOTE: Be careful not to post user names, passwords, auth tokens or any other private or sensitive information.

Dug into it more and server side, the "GET /api/api-version/sites/site-id/flows/runs" does not return a pagination element in the XML. I think being able to iterate over run history would be useful. Unclear if FlowRuns lacking pagination is intentional. If so, I can update TSC to reflect that.