Github notifications on Slack
MIT License
🐙 tako is a Github notifier for Slack. It is written in Clojure and can be deployed to AWS lambda.
These are some (personal?) reasons to use tako:
To run locally:
lein run YOUR_GITHUB_TOKEN YOUR_SLACK_WEBHOOK_URL
You can also create an jar with lein uberjar
.
In my current setup I have tako
running on top of AWS lambda. This is why it is cool:
tako
runs just a few times per hour, it will never be executed more than one million times a month (which is when Amazon starts charging you).All you have to do is create a new AWS lambda function and configure it:
0: Build a jar
git clone [email protected]:casidiablo/tako.git
cd tako
export GITHUB_TOKEN=your token
export SLACK_WEBHOOK_URL=the slack webhook url
./build-jar
# a jar will be assembled in tako/target/tako.jar
# by the way, the credentials are baked into the jar
arn:aws:sns:us-east-1:821676841978:clock
. This is a public SNS topic that sends a message every minute, perpetually, amen.tako
tako.core::handler
0
You can upload changes from the command line by running:
# make sure you have awscli installed and configured
./lambda-deploy
Or by building a new jar and uploading it manually through the AWS web console.
There's many reasons not to use this:
Github provides an official Slack integration and is super cool and useful when you want to focus on specific repositories and you want details of every commit pushed to the repo (you have to manually choose which repos you want to get slack messages from). I highly recommend this over tako
for such cases. It has some quircks like notifying you of code you just pushed, which is stupid, but whatever it works well and it's easier to configure than this project. That said, I built tako to replace the notifications inbox of the Github web and avoid email; and it works for all the repos you watch, not only a few ones that you cherry pick.