GitHub for Slack

GitHub brings teams of software developers together to write code and manage projects. When you connect GitHub to Slack, you can get notified of all sorts of events in the Slack channel(s) of your choosing. Connect two of your most important tools and stay on top of your work, all from Slack. 🛠


Decide which app to use

  • GitHub for Slack: Are you on the GitHub Developer, Team, or Business plan? This app is for you!
  • Github Notifications (Legacy): This app is compatible with GitHub Enterprise.


Install the app

GitHub for Slack 

GitHub Notifications (Legacy)

With the GitHub app, you can get link previews in Slack for public repositories, set up notifications with slash commands, and easily stay up-to-date on project activity.


Install the app

  1. Visit slack.github.com and click Add to Slack.
  2. Review the permissions the app needs to access, and click Continue to allow.
  3. Select the channels the app can access: all public channels, specific ones, or none. 

After you've installed the app, the GitHub app will send you a direct message to help you complete setup and teach you about the /github slash command.

Tip: Use the slash command /github subscribe owner/repo to subscribe to your previous configurations. 


Customize your notifications

The GitHub app makes it easy to customize what gets posted in Slack. You can subscribe to activity that's relevant for the whole channel to see, and unsubscribe from other types that are less helpful. Certain activities will notify you in Slack by default, while some others won't:

Features enabled by default

  • issues
  • pulls
  • statuses
  • commits
  • deployments
  • public

Features not enabled by default

  • reviews
  • comments
  • branches
  • commits:all

 

You can use these slash commands to customize your notifications:

  • /github subscribe owner/repo [feature]
  • /github unsubscribe owner/repo [feature]


A note about the GitHub app 

If you use other Slack apps, you might notice some changes in the way GitHub is installed. This particular app functions at your workspace level, rather than at the member level. This is a good thing! Here's why:

  • The app will never disconnect should the original installer ever leave your workspace. 
  • You can add the GitHub app to specific channels. Take your pick during installation, or use /invite @github to add the app to any channel later on.

💡 Read more about the future of Slack apps on the Slack Platform Blog. If you're a developer, learn about building the next generation of Slack apps and join our developer preview!

 

If you use GitHub's on-premise option, GitHub Enterprise, you'll need to install the GitHub Notifications (Legacy) app. 


Install the app

  1. Visit GitHub in the Slack App Directory. 
  2. Click Install.
  3. Select a channel where GitHub events will be posted, or click create a new channel to make a brand new one.
  4. Click Add GitHub Integration
  5. Click Authenticate your GitHub account.
  6. Choose the repositories you’d like Slack notifications for. 
  7. Choose the GitHub events you’d like to post to Slack.
  8. If you’d like, you can customize the way GitHub posts appear in Slack by choosing a custom display name and icon.
  9. When you’re done, click Save Integration.


Understand permissions 

Slack will ask your permission to access some GitHub repositories the first time you connect the app. We’ll need read and write access to all public and private repo data: code, issues, pull requests, wikis, settings, deploy keys, plus webhooks and services.

We understand this is a lot to ask! The only way Slack can access the full list of your public and private repos is with GitHub’s “repo” scope, which also provides all of the permissions listed above.

Note: Slack will only use these permissions to read repo data (to get a list of your public and private repositories), and to configure your webhooks on GitHub.


Switch to unauthed mode

You can choose to set up the app in unauthed mode. To do so, use steps 1-4 from the section above, then do the following:

  1. From the Slack setup page, click switch to unauthed mode.
  2. In your GitHub account, go to the repository that you'd like to monitor. Click Settings in the right navigation.
  3. Click Webhooks & Services in the left navigation, then press Add webhook.
  4. From the Slack App Directory window, click copy URL
  5. Returning to your GitHub account, paste the URL under Payload URL.
  6. For the Content type, make sure application/json is selected.
  7. Confirm SSL verification is turned on.
  8. Click Add webhook.
  9. Return to your Slack setup page and click Save Integration.


Add a new GitHub organization

When you join a new GitHub organization, you’ll need to allow Slack to access it. Once you do so, the new organization will display in your existing app. Here's how to get set up:

  1. Visit your GitHub Settings: github.com/settings.
  2. Under Authorized OAuth Apps, click Slack.
  3. Under Organization access, click Grant Access next to your new organization.

The new organization and its repositories will appear in your GitHub app page on Slack: my.slack.com/apps/manage.

Questions? Get in touch anytime — we’re here for you!

Related Articles

Recently Viewed Articles