pydisgit is a port of the disgit tool to Python on a Quart/ASGI stack. As with the original, pydisgit is a webook proxy for sending GitHub messages to Discord that provides higher quality results than the built-in GitHub endpoint that Discord offers.
This additionally leaves it fully independent of the Cloudflare environment, and lets us use the (subjectively) superior and more reliable Python ecosystem.
pydisgit is published as a Docker image ready to go under ghcr.io/kyoripowered/pydisgit:latest
.
pydisgit has the following optional environment variables that you can use to customize your instance:
PYDISGIT_IGNORED_BRANCHES_REGEX
- A regex pattern for branches that should be ignoredPYDISGIT_IGNORED_BRANCHES
- A comma separated list of branches that should be ignoredPYDISGIT_IGNORED_USERS
- A comma separated list of users that should be ignoredPYDISGIT_IGNORED_PAYLOADS
- A comma separated list of webhook events that should be ignored
Some example unit files for deployment under Podman Quadlet with systemd socket activation behind an Ngnix reverse proxy are provided in the `etc/deployment folder. By default, the docker image will bind to port 8000 if it's used on its own.
We recommend choosing a webhook secret to prevent unauthorized users from exhausting the host server's available ratelimit space.
pydisgit is released under the terms of the Apache Software License version 2.0. Thanks additionally go out to JRoy and all other contributors to upstream disgit for making it what it is today.
The following webhook events are supported as of now:
- check_run
- commit_comment
- create
- delete
- deployment
- deployment_status
- discussion
- discussion_comment
- fork
- gollum (wiki)
- issue_comment
- This event also sends pull request comments...sigh
- issues
- package
- ping
- pull_request
- pull_request_review
- pull_request_review_comment
- push
- release
- star
- ...feel free to contribute more that suit your needs!