Files
vetro_redmine/api.py

35 lines
896 B
Python

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)