aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2024-02-13 17:05:01 +0000
committerGravatar Chris Lovering <[email protected]>2024-02-13 17:05:01 +0000
commit6ddb24d34163a86c6e3bdffa79a96fdd8fb5b077 (patch)
treece3657b365dfea2972387d37eccb9dce4a7a415a
parentAdd 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.py22
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()