server-client-python
server-client-python copied to clipboard
groups.update incorrectly handles as_job parameter
Describe the bug If as_job=True is passed to groups.update, an error occurs. This is because groups_endpoint.py tries to return a JobItem, but the asJob parameter wasn't added to the API call (URL) to Server.
Versions Details of your environment, including:
- Tableau Server version 2021.3.18
- Python version 3.9
- TSC library version 0.26
To Reproduce call groups.update with the parameter as_job=True E.g. result = server.groups.update(group, as_job=True)
Results ERROR - list index out of range Error occurs in groups_endpoint.py line 97: return JobItem.from_response(server_response.content, self.parent_srv.namespace)[0]
Error occurs because the url created in line 92 doesn't add the asJob parameter: url = "{0}/{1}".format(self.baseurl, group_item.id)
It can be corrected by adding the if statement below: url = "{0}/{1}".format(self.baseurl, group_item.id) if as_job: url = url + "?asJob=True" update_req = RequestFactory.Group.update_req(group_item, None)