Are you self-hosting code in Forjego by any chance? If yes, there's an integrated system called "actions"[1].
Jenkins is popular but complex. I would look elsewhere, woodpeckerCI looks like a good solution but I don't have direct experience with it.
I've worked with Tekton in the past, but it's tailored around kubernetes, e.g. a good for k3s (self-hosted k8s cluster).
If you're not self-hosting and you use something like github, you need to either leave an HTTP server open to the internet (insecure) or use something like ngrok, smee.io, cloudflare tunnel, hookdeck, etc. These tools will manage to forward the webhook in a secure way to the internal system.
[1]: https://forgejo.org/docs/latest/admin/actions/