refs #62274 Получение списка задач на релиз.
This commit is contained in:
34
api.py
Normal file
34
api.py
Normal file
@@ -0,0 +1,34 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user