Skip to content

Files

Latest commit

aef4176 · Mar 26, 2025

History

History
This branch is 1 commit ahead of main.

github-to-slack

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 26, 2025
May 9, 2023
Jul 7, 2023

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:

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 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.
  • Add an Incoming Webhook to your Slack channel and take note of the Webhook URL.
  • Set the slack.webhook_url and github.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