getters.py 1.18 KiB
import json
import logging
from typing import Dict, List
import requests
logger = logging.getLogger(__name__)
def get_issue_overall_percentage(issue_id: int) -> int or None:
"""
Getne stav issue na redmine a vrátí její procento dokončení (nebo None)
"""
response = requests.get("https://redmine.pirati.cz/issues/{}.json".format(issue_id))
if response.status_code != 200 or not response.text:
logger.error(
"Nepodařilo se stáhnout info o Redmine issue",
extra={"redmine_issue": issue_id},
)
return None
return json.loads(response.text).get("issue", {}).get("done_ratio", None)
def get_issue_list(issue_id: int) -> List[Dict]:
"""
Getne list dceřiných issues a vrátí je jako list dictionaries.
"""
response = requests.get(
"https://redmine.pirati.cz/issues.json?parent_id={}&sort=id:as".format(issue_id)
)
if response.status_code != 200 or not response.text:
logger.error(
"Nepodařilo se stáhnout dílčí issues pro Redmine issue",
extra={"redmine_issue": issue_id},
)
return []
return json.loads(response.text).get("issues", [])