Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atlasoflivingaustralia/ala-github-webhooks
Maintains ALA build status summary table
https://github.com/atlasoflivingaustralia/ala-github-webhooks
ala-product-build-management
Last synced: 4 days ago
JSON representation
Maintains ALA build status summary table
- Host: GitHub
- URL: https://github.com/atlasoflivingaustralia/ala-github-webhooks
- Owner: AtlasOfLivingAustralia
- Created: 2015-03-25T12:00:25.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-05-28T23:42:59.000Z (over 6 years ago)
- Last Synced: 2024-11-18T10:20:13.772Z (2 months ago)
- Topics: ala-product-build-management
- Language: Shell
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 22
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### ala-github-webhooks
At the moment this project is used to rebuild/refresh/update the [ALA build status summary table](https://gist.github.com/mbohun/ee2345d4c8a80ede2628#file-ala_build_summary_with_emoji-md) included from https://atlasoflivingaustralia.github.io when a travis-ci "build finished" event is received.### requirements
- some HTTP/REST "listener" capable of receiving/handling [github events](https://developer.github.com/webhooks/#events), for example nodejs, sinatra, etc., this impl uses nodejs + githubhook for nodejs:
- [nodejs](https://nodejs.org)
- [githubhook](https://github.com/nlf/node-github-hook)
- wget, curl, sed, grep, git (most of the time already installed)
- env variables (**TODO:** replace the env vars with a config file, for easier setup/use)
- `GIST_TOKEN` (used by the BASH scripts for authentication/REST comm, and to clone/commit/push the build status summary table gist) *NOTE: These scripts used to run from travis-ci.org and a gist token (although encrypted) is considered less dangerous (as in more restricted) than a github token* if stolen/compromised
- `GITHUB_WEBHOOKS_SECRET` (used by the node listener, this has to be set to the value you configured in github webhooks configuration)
- nginx, apache2, etc. - some webserver capable of proxying to your event listener/handler (or you need to open a dedicated TCP port for receiving the event messages from github)### github configuration
Through the github web ui or via github REST API you need to setup/configure on what host:port is your webhook listener listening, and which github events you want to be receiving### TODO: finish this; fill it with the exciting details about github webhooks/event configuration
- package this like a standard nodejs app (so people can install it with `npm install ala-github-webhooks`
- add standard UNIX/Linux service scripts; use [forever](https://github.com/foreverjs/forever) for daemon support