From c3eb00711c33a51f73b9ffbee7670979f958f868 Mon Sep 17 00:00:00 2001 From: "pavel.lamonov" Date: Tue, 21 Jul 2026 15:32:03 +0300 Subject: [PATCH] =?UTF-8?q?refs=20#62274=20=D0=9F=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=20=D0=BD=D0=B0=20=D1=80=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ api.py | 34 ++++++++++++++++++++++++++++++++++ constants.py | 1 + requirements.txt | 2 ++ 4 files changed, 40 insertions(+) create mode 100644 .gitignore create mode 100644 api.py create mode 100644 constants.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..63da19b --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +*.swp +__pycache__/ diff --git a/api.py b/api.py new file mode 100644 index 0000000..480e015 --- /dev/null +++ b/api.py @@ -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) diff --git a/constants.py b/constants.py new file mode 100644 index 0000000..ac94035 --- /dev/null +++ b/constants.py @@ -0,0 +1 @@ +RELEASE_STATUS_ID = 9 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..4564349 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +dotenv +requests