Skip to content

Commit 378be11

Browse files
authored
Export quality gates as list (#2059)
1 parent fcde286 commit 378be11

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

cli/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ def __parse_args(desc: str) -> object:
124124

125125
def __normalize_json(json_data: dict[str, any], remove_empty: bool = True, remove_none: bool = True) -> dict[str, any]:
126126
"""Sorts a JSON file and optionally remove empty and none values"""
127-
SORT_FIELDS = {"users": "login", "groups": "name"}
127+
SORT_FIELDS = {"users": "login", "groups": "name", "qualityGates": "name"}
128128
log.info("Normalizing JSON - remove empty = %s, remove nones = %s", str(remove_empty), str(remove_none))
129129
json_data = utilities.clean_data(json_data, remove_none=remove_none, remove_empty=remove_empty)
130130
json_data = utilities.order_keys(json_data, *_SECTIONS_ORDER)

sonar/qualitygates.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
"prioritized_rule_issues": (0, 0, __MAX_ISSUES_SHOULD_BE_ZERO),
9393
}
9494

95-
_IMPORTABLE_PROPERTIES = ("isDefault", "isBuiltIn", "conditions", "permissions")
95+
_IMPORTABLE_PROPERTIES = ("name", "isDefault", "isBuiltIn", "conditions", "permissions")
9696

9797

9898
class QualityGate(sq.SqObject):
@@ -121,8 +121,8 @@ def __init__(self, endpoint: pf.Platform, name: str, data: types.ApiPayload) ->
121121
self._permissions: Optional[object] = None #: Quality gate permissions
122122
self._projects: Optional[dict[str, projects.Project]] = None #: Projects using this quality profile
123123
self.sq_json = data
124-
self.name = data.pop("name")
125-
self.key = data.pop("id", self.name)
124+
self.name = data.get("name")
125+
self.key = data.get("id", self.name)
126126
self.is_default = data.get("isDefault", False)
127127
self.is_built_in = data.get("isBuiltIn", False)
128128
self.conditions()
@@ -457,7 +457,7 @@ def export(endpoint: pf.Platform, export_settings: types.ConfigSettings, **kwarg
457457
:return: Quality gates representations as JSON
458458
"""
459459
log.info("Exporting quality gates")
460-
qg_list = {k: qg.to_json(export_settings) for k, qg in get_list(endpoint).items()}
460+
qg_list = [qg.to_json(export_settings) for qg in get_list(endpoint).values()]
461461
write_q = kwargs.get("write_q", None)
462462
if write_q:
463463
write_q.put(qg_list)

0 commit comments

Comments
 (0)