{"id":24256174,"url":"https://github.com/threatify/github-hooker","last_synced_at":"2026-05-07T23:09:12.282Z","repository":{"id":57434575,"uuid":"124435656","full_name":"threatify/github-hooker","owner":"threatify","description":"Easily handle github hooks","archived":false,"fork":false,"pushed_at":"2018-03-08T22:27:29.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-14T11:08:13.124Z","etag":null,"topics":["github","python","webhooks"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threatify.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-08T19:06:25.000Z","updated_at":"2018-03-08T19:48:47.000Z","dependencies_parsed_at":"2022-09-09T20:31:41.895Z","dependency_job_id":null,"html_url":"https://github.com/threatify/github-hooker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threatify%2Fgithub-hooker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threatify%2Fgithub-hooker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threatify%2Fgithub-hooker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threatify%2Fgithub-hooker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threatify","download_url":"https://codeload.github.com/threatify/github-hooker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241913787,"owners_count":20041459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","python","webhooks"],"created_at":"2025-01-15T04:57:20.820Z","updated_at":"2026-05-07T23:09:07.243Z","avatar_url":"https://github.com/threatify.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"github-hooker\n=============\n\nEasily handle github hooks. This package allows easily handling github webhooks by running a simple bottle\nwebserver to handle requests coming from github. All it requires is a module containing functions with\npredefined names to handle the github event transmitted via webhook.\n\nThe webhook at Github should be configured to send event data as JSON and not as url form encoded.\n\nExample:\n\n.. code:: bash\n\n    github_hooker -c config.json -m github_actions.py\n\n\nConfig file needs to contain host, port and url_path parameters. See config.json under example folder.\nThe module file should define functions for handling github events. Event handler functions accept a\nsingle parameter which is a `request \u003chttps://bottlepy.org/docs/dev/api.html#the-request-object\u003e`_\nobject.\n\nExample of a function to handle repository pushed event:\n\n.. code:: python\n\n    def on_event_push(request):\n\n        branch = request.json.get('ref').split('/')[-1]\n    \n        if 'master' == branch:\n            print(\"changes pushed to master branch\")\n    \n            pusher = request.json.get('pusher')\n            print(\"Pushed by {} ({})\".format(pusher['name'], pusher['email']))\n    \n            hc = request.json.get('head_commit')\n            print(\"Head commit: %s\" % hc['id'])\n            print(\"  By: %s (%s)\" % (hc['committer']['name'], hc['committer']['email']))\n            print(\"  on: %s\" % hc['timestamp'])\n            print(\"  %s\" % hc['message'])\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreatify%2Fgithub-hooker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreatify%2Fgithub-hooker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreatify%2Fgithub-hooker/lists"}