diff --git a/did/plugins/zammad.py b/did/plugins/zammad.py index 78d331c8..00c500af 100644 --- a/did/plugins/zammad.py +++ b/did/plugins/zammad.py @@ -60,11 +60,16 @@ def perform_search(self, query: str) -> dict: f"Zammad search on {self.url} failed.") from error def search(self, query: str) -> dict: - result = self.perform_search(query)["assets"] - try: - result = result["Ticket"] - except KeyError: - result = {} + result = self.perform_search(query) + if isinstance(result, list): + # Newer Zammad API returns a flat list of ticket objects + result = {str(ticket["id"]): ticket for ticket in result} + else: + result = result["assets"] + try: + result = result["Ticket"] + except KeyError: + result = {} log.debug("Result: %s fetched", listed(len(result), "item")) log.data(pretty(result)) return result