diff --git a/sonar/applications.py b/sonar/applications.py index 4aaef0c4..0380bae4 100644 --- a/sonar/applications.py +++ b/sonar/applications.py @@ -340,7 +340,7 @@ def export(self, export_settings: types.ConfigSettings) -> types.ObjectJsonRepr: "visibility": self.visibility(), # 'projects': self.projects(), "branches": {br.name: br.export() for br in self.branches().values()}, - "permissions": self.permissions().export(export_settings=export_settings), + "permissions": util.perms_to_list(self.permissions().export(export_settings=export_settings)), "tags": self.get_tags(), } ) diff --git a/sonar/portfolios.py b/sonar/portfolios.py index 467bdfbd..c0b90366 100644 --- a/sonar/portfolios.py +++ b/sonar/portfolios.py @@ -368,7 +368,7 @@ def to_json(self, export_settings: types.ConfigSettings) -> types.ObjectJsonRepr subportfolios = self.sub_portfolios() if not self.is_sub_portfolio(): json_data["visibility"] = self._visibility - json_data["permissions"] = self.permissions().export(export_settings=export_settings) + json_data["permissions"] = util.perms_to_list(self.permissions().export(export_settings=export_settings)) json_data["tags"] = self._tags if subportfolios: json_data["portfolios"] = {} diff --git a/sonar/utilities.py b/sonar/utilities.py index f005774f..ff4664d1 100644 --- a/sonar/utilities.py +++ b/sonar/utilities.py @@ -855,4 +855,6 @@ def order_list(l: list[str], *key_order) -> list[str]: def perms_to_list(perms: dict[str, Any]) -> list[str, Any]: """Converts permissions in dict format to list format""" + if not perms: + return perms return dict_to_list(perms.get("groups", {}), "group", "permissions") + dict_to_list(perms.get("users", {}), "user", "permissions")