diff --git a/sonar/projects.py b/sonar/projects.py index 190bb099..1e187397 100644 --- a/sonar/projects.py +++ b/sonar/projects.py @@ -1008,7 +1008,7 @@ def export(self, export_settings: types.ConfigSettings, settings_list: Optional[ json_data[settings.NEW_CODE_PERIOD] = nc json_data["qualityProfiles"] = util.dict_to_list(self.__export_get_qp(), "language", "name") json_data["links"] = self.links() - json_data["permissions"] = self.permissions().to_json(csv=export_settings.get("INLINE_LISTS", True)) + json_data["permissions"] = util.perms_to_list(self.permissions().to_json(csv=export_settings.get("INLINE_LISTS", True))) if self.endpoint.version() >= (10, 7, 0): json_data["aiCodeFix"] = self.ai_code_fix() json_data["branches"] = util.dict_to_list(self.__get_branch_export(export_settings), "name") diff --git a/sonar/settings.py b/sonar/settings.py index 9b9217b8..1a92c47f 100644 --- a/sonar/settings.py +++ b/sonar/settings.py @@ -206,7 +206,7 @@ def reload(self, data: types.ApiPayload) -> None: self.value = data.get("mode", "MQR") != "STANDARD_EXPERIENCE" elif self.key == COMPONENT_VISIBILITY: self.value = data.get("visibility", None) - elif self.key == "sonar.login.message": + elif self.key in ("sonar.login.message", "sonar.announcement.message"): self.value = None if "values" in data and isinstance(data["values"], list) and len(data["values"]) > 0: self.value = data["values"][0] diff --git a/sonar/utilities.py b/sonar/utilities.py index 431b1b77..efa8bc3b 100644 --- a/sonar/utilities.py +++ b/sonar/utilities.py @@ -172,10 +172,10 @@ def convert_to_type(value: str) -> Any: return float(value) except ValueError: pass - try: - return bool(value) - except ValueError: - pass + if value.lower() == "true": + return True + if value.lower() == "false": + return False return value