diff options
Diffstat (limited to 'worker/GiteaWorker.py')
-rw-r--r-- | worker/GiteaWorker.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/worker/GiteaWorker.py b/worker/GiteaWorker.py new file mode 100644 index 0000000..7a2c79c --- /dev/null +++ b/worker/GiteaWorker.py @@ -0,0 +1,34 @@ +from util import Logger, getProjRepoName +import requests + + +class GiteaWorker(): + def __init__(self, args, baseUrl, orgName, token, hgroups, + logger=Logger()): + self.args = args + # self.id_ = id_ + # self.name = name + # self.projNum = projNum + # self.projScores = projScores + self.logger = logger + self.names = { + item[1]: item[0] + for items in hgroups.values() for item in items + } + self.baseUrl = baseUrl + self.orgName = orgName + self.sess = requests.Session() + self.sess.params.update({"access_token": token}) + + def raiseIssues(self, scores): + for key, value in scores.items(): + if not value.get('projComment'): continue + id_ = self.names[key] + repoName = getProjRepoName([id_, key, self.args.proj]) + url = f"{self.baseUrl}/repos/{self.orgName}/{repoName}/issues" + data = { + "title": f"m{self.args.ms} feedback", + "body": '\n'.join(value.get('projComment')), + } + req = self.sess.post(url, data) + self.logger.debug(f"{repoName} issue {req.status_code} {req.text}") |