import os from dotenv import load_dotenv from requests import get from constants import RELEASE_STATUS_ID load_dotenv() SITE_URL = os.getenv("SITE_URL") KEY = os.getenv("KEY") class RedmineAPI: def __init__(self, base: str, key: str) -> None: self._base = base self._key = key self._headers = {"X-Redmine-API-Key": self._key} def get(self, *args, **kwargs) -> dict: if len(args) > 0: args = tuple([self._base + list(args)[0]] + list(args)[1:]) elif "url" in kwargs: kwargs["url"] = self._base + kwargs["url"] kwargs["headers"] = self._headers return get(*args, **kwargs).json() def get_release_issues(self) -> list[dict]: result = self.get("/issues.json", params={"assigned_to_id": "me", "status_id": RELEASE_STATUS_ID}) return result["issues"] api = RedmineAPI(SITE_URL, KEY)