From: Ismaƫl Bouya Date: Tue, 1 Mar 2022 00:13:26 +0000 (+0100) Subject: WIP: rework gitolite hooks X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=d0d88e721f2f9f2dca7e369e960873746ea9efa3;p=perso%2FImmae%2FConfig%2FNix.git WIP: rework gitolite hooks --- diff --git a/modules/private/buildbot/common/master.cfg b/modules/private/buildbot/common/master.cfg index abe08e0..0357f2a 100644 --- a/modules/private/buildbot/common/master.cfg +++ b/modules/private/buildbot/common/master.cfg @@ -22,6 +22,27 @@ class CustomBase(webhooks.base): return ([args], None) +class GitoliteHook(webhooks.base): + def getChanges(self, request): + try: + branch = request.args[b"branch"][0].decode("utf-8") + project = request.args[b"project"][0].decode("utf-8") + repository = request.args[b"repository"][0].decode("utf-8") + author = request.args[b"author"][0].decode("utf-8") + except Exception as e: + raise ValueError("Error missing key in request: " + str(e)) + + args = { + "author": "gitolite for " + author, + "category": "gitolite-hooks", + "comments": "gitolite post-receive hook", + "branch": branch, + "project": project, + "repository": repository, + } + + return ([args], None) + userInfoProvider = util.LdapUserInfo( uri=E.LDAP_URL, bindUser=E.LDAP_ADMIN_USER, @@ -52,7 +73,10 @@ c = BuildmasterConfig = { secrets.SecretInAFile(E.SECRETS_FILE), ], "www": { - "change_hook_dialects": { "base": { "custom_class": CustomBase } }, + "change_hook_dialects": { + "base": { "custom_class": CustomBase }, + "gitolite": { "custom_class": GitoliteHook }, + }, "plugins": { "waterfall_view": {}, "console_view": {},