Listening for Git Repo Changes
I want to write an app th开发者_如何学JAVAat given a user's GitHub account information and a repo will be notified whenever the repo is pushed to. I know I could basically save the state of the repo and poll it for changes periodically but I was wondering if there is a way to do this with a push architecture and if so how to go about it. Thanks for any help!
EDIT - I know I can probably doing this like Heroku does it by having them push to a remote server, but the ideal functionality is to know when they push to Github itself.
If you want to perform an action when a push
is received, you can write a script and use it as a post-receive
hook. GitHub supports git-hooks, but for obvious reasons they do not allow you to write a "custom script". What their script do is actually simple - they notify you by POSTing a JSON to an URL you specify. See their documentation.
One way which:
- wouldn't involve the main contributor of a repo to enter anything
- would allow you to define what you want to monitor
is to use:
- 2011 (since discontinued) Yahoo Pipe services (and then write an app getting the result of said pipes), like the Friend Stalker pipes described by nefariousdesign.
- 2020 alternatives like GitHub Actions, and, for instance:
- racket/email-notifications
- other notifications and messages actions
You should check out post-receive hooks
Why not use GitHub Service Hooks?
Post-Receive Hooks
精彩评论