refs #62274 Получение списка задач на релиз.
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.env
|
||||||
|
*.swp
|
||||||
|
__pycache__/
|
||||||
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)
|
||||||
1
constants.py
Normal file
1
constants.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
RELEASE_STATUS_ID = 9
|
||||||
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
dotenv
|
||||||
|
requests
|
||||||
Reference in New Issue
Block a user