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):
|
if isinstance(items, list):
|
||||||
return [x for x in items if isinstance(x, dict)]
|
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.
|
# Some endpoints may return a single object.
|
||||||
if "id" in payload:
|
if "id" in payload:
|
||||||
return [payload]
|
return [payload]
|
||||||
@ -270,11 +274,15 @@ class AutotaskClient:
|
|||||||
if not bool(field.get("isPickList")):
|
if not bool(field.get("isPickList")):
|
||||||
raise AutotaskError(f"Tickets.{field.get('name')} is not marked as a picklist in Autotask metadata.")
|
raise AutotaskError(f"Tickets.{field.get('name')} is not marked as a picklist in Autotask metadata.")
|
||||||
|
|
||||||
picklist_path = field.get("picklistValues")
|
picklist_values = field.get("picklistValues")
|
||||||
if not isinstance(picklist_path, str) or not picklist_path.strip():
|
# Autotask may return picklist values inline (as a list) or as a URL/path.
|
||||||
raise AutotaskError(f"Tickets.{field.get('name')} metadata did not include a picklistValues endpoint.")
|
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]]:
|
def get_ticket_priorities(self) -> List[Dict[str, Any]]:
|
||||||
"""Return Ticket Priority picklist values.
|
"""Return Ticket Priority picklist values.
|
||||||
@ -314,8 +322,11 @@ class AutotaskClient:
|
|||||||
if not bool(priority_field.get("isPickList")):
|
if not bool(priority_field.get("isPickList")):
|
||||||
raise AutotaskError("Tickets.priority is not marked as a picklist in Autotask metadata.")
|
raise AutotaskError("Tickets.priority is not marked as a picklist in Autotask metadata.")
|
||||||
|
|
||||||
picklist_path = priority_field.get("picklistValues")
|
picklist_values = priority_field.get("picklistValues")
|
||||||
if not isinstance(picklist_path, str) or not picklist_path.strip():
|
if isinstance(picklist_values, list):
|
||||||
raise AutotaskError("Tickets.priority metadata did not include a picklistValues endpoint.")
|
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.
|
- Applied the same robust detection logic to ticket priority picklist retrieval.
|
||||||
- Prevented connection test failures caused by missing or differently named metadata fields.
|
- 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
|
## v0.1.21
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user