diff options
author | BoYanZh <32470225+BoYanZh@users.noreply.github.com> | 2020-10-05 02:48:10 +0800 |
---|---|---|
committer | BoYanZh <32470225+BoYanZh@users.noreply.github.com> | 2020-10-05 02:48:10 +0800 |
commit | 11657edd4519e0432aa75324fdb0f9e9640b6494 (patch) | |
tree | 10835cf76628dc6a5b6c07975e967e4c55769b87 /worker/GiteaWorker.py | |
parent | ba5d08bcf2e545f03a174961c0e6f470f8b22d23 (diff) |
update: gitea worker and minor fix
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}") |