You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sean Nicholas Dieterle
0bfc7d50e9
|
8 years ago | |
---|---|---|
.. | ||
functions | 8 years ago | |
README.md | 8 years ago | |
firebase.json | 8 years ago |
README.md
Post GitHub commits to Slack channel.
This sample shows how to automatically post GitHub commits to a Slack channel using an HTTPS Cloud Function.
Further reading:
- Slack Webhooks API: https://api.slack.com/incoming-webhooks
- Firebase SDK: https://firebase.google.com/docs/functions
- GitHub Webhooks: https://developer.github.com/webhooks/creating/
Functions Code
See file functions/index.js for the code.
The dependencies are listed in functions/package.json.
Deploy and test
To test this integration:
- Create a Firebase Project using the Firebase Developer Console
- Enable billing on your project by switching to the Blaze or Flame plan. See pricing for more details. This is required to be able to do requests to non-Google services.
- Configure this sample to use your project using
firebase --use add
and select your project. - Install dependencies locally by running:
cd functions; npm install; cd -
- Add a WebHook to your GitHub repo with the following settings:
- Payload URL:
https://us-central1-<FIREBASE_PROJECT_ID>.cloudfunctions.net/githubWebhook
- Content type:
application/json
- Secret:
A_SECRET_YOU_DEFINE
- Which events would you like to trigger this webhook?
Just the push event.
- Payload URL:
- Add an Incomming Webhook to your Slack channel and take note of the Webhook URL.
- Set the
slack.webhook_url
andgithub.secret
Google Cloud environment variables to match the email and password of the Gmail account used to send emails. For this use:firebase functions:config:set slack.webhook_url="https://hooks.slack.com/services/..." github.secret="A_SECRET_YOU_DEFINED_WHEN_SETTING_UP_THE_GITHUB_WEBHOOK"
- Deploy your project using
firebase deploy
- Push a commit to your GitHub repo