Auto-commit local changes before build (2026-01-15 13:45:53)
This commit is contained in:
parent
981d65c274
commit
5b9b6f4c38
@ -1 +1 @@
|
||||
v20260115-07-autotask-picklist-field-detect
|
||||
v20260115-08-autotask-entityinfo-fields-shape-fix
|
||||
|
||||
@ -167,6 +167,10 @@ class AutotaskClient:
|
||||
if isinstance(items, list):
|
||||
return [x for x in items if isinstance(x, dict)]
|
||||
|
||||
fields = payload.get("fields")
|
||||
if isinstance(fields, list):
|
||||
return [x for x in fields if isinstance(x, dict)]
|
||||
|
||||
# Some endpoints may return a single object.
|
||||
if "id" in payload:
|
||||
return [payload]
|
||||
@ -270,11 +274,15 @@ class AutotaskClient:
|
||||
if not bool(field.get("isPickList")):
|
||||
raise AutotaskError(f"Tickets.{field.get('name')} is not marked as a picklist in Autotask metadata.")
|
||||
|
||||
picklist_path = field.get("picklistValues")
|
||||
if not isinstance(picklist_path, str) or not picklist_path.strip():
|
||||
raise AutotaskError(f"Tickets.{field.get('name')} metadata did not include a picklistValues endpoint.")
|
||||
picklist_values = field.get("picklistValues")
|
||||
# Autotask may return picklist values inline (as a list) or as a URL/path.
|
||||
if isinstance(picklist_values, list):
|
||||
return [x for x in picklist_values if isinstance(x, dict)]
|
||||
|
||||
return self._call_picklist_values(picklist_path)
|
||||
if not isinstance(picklist_values, str) or not picklist_values.strip():
|
||||
raise AutotaskError(f"Tickets.{field.get('name')} metadata did not include picklist values.")
|
||||
|
||||
return self._call_picklist_values(picklist_values)
|
||||
|
||||
def get_ticket_priorities(self) -> List[Dict[str, Any]]:
|
||||
"""Return Ticket Priority picklist values.
|
||||
@ -314,8 +322,11 @@ class AutotaskClient:
|
||||
if not bool(priority_field.get("isPickList")):
|
||||
raise AutotaskError("Tickets.priority is not marked as a picklist in Autotask metadata.")
|
||||
|
||||
picklist_path = priority_field.get("picklistValues")
|
||||
if not isinstance(picklist_path, str) or not picklist_path.strip():
|
||||
raise AutotaskError("Tickets.priority metadata did not include a picklistValues endpoint.")
|
||||
picklist_values = priority_field.get("picklistValues")
|
||||
if isinstance(picklist_values, list):
|
||||
return [x for x in picklist_values if isinstance(x, dict)]
|
||||
|
||||
return self._call_picklist_values(picklist_path)
|
||||
if not isinstance(picklist_values, str) or not picklist_values.strip():
|
||||
raise AutotaskError("Tickets.priority metadata did not include picklist values.")
|
||||
|
||||
return self._call_picklist_values(picklist_values)
|
||||
|
||||
@ -64,6 +64,16 @@ Changes:
|
||||
- Applied the same robust detection logic to ticket priority picklist retrieval.
|
||||
- Prevented connection test failures caused by missing or differently named metadata fields.
|
||||
|
||||
## v20260115-08-autotask-entityinfo-fields-shape-fix
|
||||
|
||||
### Changes:
|
||||
- Fixed parsing of Autotask entityInformation responses to correctly read field metadata from the `fields` attribute.
|
||||
- Extended metadata normalization to support different response shapes returned by Autotask.
|
||||
- Improved picklist value handling to support both inline picklist values and URL-based retrieval.
|
||||
- Resolved failures in queue, source, and priority picklist detection caused by empty or misparsed field metadata.
|
||||
- Stabilized Autotask connection testing across sandbox environments with differing metadata formats.
|
||||
|
||||
|
||||
***
|
||||
|
||||
## v0.1.21
|
||||
|
||||
Loading…
Reference in New Issue
Block a user