Skip to content

Commit 7f291a1

Browse files
authored
Merge pull request #14 from jitsecurity/sc-20132-bug-in-customer-scripts-sync-teams-trying
don't delete teams that were not manually created
2 parents 9191d12 + 6092fe0 commit 7f291a1

2 files changed

Lines changed: 15 additions & 8 deletions

File tree

src/scripts/sync_teams/sync_teams.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ def main():
218218
update_assets(jit_token, assets, organization)
219219

220220
if teams_to_delete:
221-
logger.info(f"Deleting {len(teams_to_delete)} team(s): {teams_to_delete}")
221+
logger.info(f"Checking which team(s) to delete from: {teams_to_delete}")
222222
delete_teams(jit_token, teams_to_delete)
223223
logger.info("Successfully completed teams sync.")
224224

src/shared/clients/jit.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import requests
66
from loguru import logger
7+
from src.shared.consts import MANUAL_TEAM_SOURCE
78
from src.shared.env_tools import get_jit_endpoint_base_url
89
from src.shared.models import Asset, TeamAttributes
910

@@ -89,22 +90,28 @@ def delete_teams(token, team_names):
8990

9091
for team_name in team_names:
9192
team_id = None
93+
selected_team = None
9294
for team in existing_teams:
9395
if team.name == team_name:
9496
team_id = team.id
97+
selected_team = team
9598
break
9699

100+
# We only delete teams that are manually created
97101
if team_id:
98-
url = f"{get_jit_endpoint_base_url()}/teams/{team_id}"
99-
headers = {"Authorization": f"Bearer {token}"}
102+
if selected_team and selected_team.source == MANUAL_TEAM_SOURCE:
103+
url = f"{get_jit_endpoint_base_url()}/teams/{team_id}"
104+
headers = {"Authorization": f"Bearer {token}"}
100105

101-
response = requests.delete(url, headers=headers)
106+
response = requests.delete(url, headers=headers)
102107

103-
if response.status_code == 204:
104-
logger.info(f"Team '{team_name}' deleted successfully.")
108+
if response.status_code == 204:
109+
logger.info(f"Team '{team_name}' deleted successfully.")
110+
else:
111+
logger.error(
112+
f"Failed to delete team '{team_name}'. Status code: {response.status_code}, {response.text}")
105113
else:
106-
logger.error(
107-
f"Failed to delete team '{team_name}'. Status code: {response.status_code}, {response.text}")
114+
logger.info(f"Team '{team_name}' is not manually created. Skipping deletion.")
108115
else:
109116
logger.warning(f"Team '{team_name}' not found.")
110117

0 commit comments

Comments
 (0)