diff options
author | 2024-02-13 17:05:01 +0000 | |
---|---|---|
committer | 2024-02-13 17:05:01 +0000 | |
commit | 6ddb24d34163a86c6e3bdffa79a96fdd8fb5b077 (patch) | |
tree | ce3657b365dfea2972387d37eccb9dce4a7a415a | |
parent | Add a cog to sync github teams to grafana teams (diff) |
Ensure errors any are bubbled up when hitting Grafana API
-rw-r--r-- | arthur/apis/grafana/teams.py | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/arthur/apis/grafana/teams.py b/arthur/apis/grafana/teams.py index 9e3f66a..e641d84 100644 --- a/arthur/apis/grafana/teams.py +++ b/arthur/apis/grafana/teams.py @@ -1,6 +1,5 @@ import aiohttp -from arthur import logger from arthur.config import CONFIG AUTH_HEADER = {"Authorization": f"Bearer {CONFIG.grafana_token.get_secret_value()}"} @@ -10,9 +9,8 @@ async def list_teams(session: aiohttp.ClientSession) -> dict[str, str]: """List all Grafana teams.""" endpoint = CONFIG.grafana_url + "/api/teams/search" async with session.get(endpoint, headers=AUTH_HEADER) as response: + response.raise_for_status() teams = await response.json() - if not response.ok: - logger.error(teams) return teams["teams"] @@ -20,10 +18,8 @@ async def list_team_members(team_id: int, session: aiohttp.ClientSession) -> lis """List all members within a team.""" endpoint = CONFIG.grafana_url + f"/api/teams/{team_id}/members" async with session.get(endpoint, headers=AUTH_HEADER) as response: - team_members = await response.json() - if not response.ok: - logger.error(team_members) - return team_members + response.raise_for_status() + return await response.json() async def add_user_to_team( @@ -35,17 +31,13 @@ async def add_user_to_team( endpoint = CONFIG.grafana_url + f"/api/teams/{team_id}/members" payload = {"userId": user_id} async with session.post(endpoint, headers=AUTH_HEADER, json=payload) as response: - add_resp = await response.json() - if not response.ok: - logger.error(add_resp) - return add_resp + response.raise_for_status() + return await response.json() async def get_all_users(session: aiohttp.ClientSession) -> list[dict[str, str]]: """Get a grafana users.""" endpoint = CONFIG.grafana_url + "/api/org/users/lookup" async with session.get(endpoint, headers=AUTH_HEADER) as response: - users = await response.json() - if not response.ok: - logger.error(users) - return users + response.raise_for_status() + return await response.json() |