Skip to main content

Customizing notifications for GitHub in Slack

Learn how to customize notifications for GitHub in Slack.

You can customize your notifications by subscribing to activity that is relevant to your Slack channel, and unsubscribing from activity that is less helpful to your project.

Notifications enabled by default

The following notifications are enabled by default, but you can disable any of them using the /github unsubscribe owner/repo [event] command.

EventDescription
issuesOpened, closed, or reopened issues.
pullsNew or merged pull requests, and draft pull requests being marked as ready for review.
commitsNew commits on the default branch.
releasesPublished releases.
deploymentsDeployment status updates.

Notifications disabled by default

The following notifications are disabled by default, but you can enable any of them using the /github subscribe owner/repo [event] command.

EventDescription
reviewsPull request reviews.
workflowsActions workflow runs.
branchesCreated or deleted branches.
commentsNew comments on issues and pull requests.
commitsAll commits to any branch.
discussionsDiscussions created or answered.
+label:"your label"Issues, pull-requests and comments based on their labels.

You can subscribe or unsubscribe from multiple settings at once. For example:

  • To turn on activity for pull request reviews and comments, use /github subscribe owner/repo reviews comments.
  • To turn off activity for issues and pull requests, use /github unsubscribe owner/repo issues pulls.

Filtering notifications

You can further customize your notifications with branch and label filters. Branch filters allow you to filter commit notifications based on branch names, while label filters allow you to filter issue and pull request notifications based on labels applied to them.

Branch filters for commit notifications

Branch filters allow you to filter commit notifications based on branch names. By default when you subscribe to the commits event, you will get notifications for your default branch. However, you can choose to filter on a specific branch, or a pattern of branches or all branches.

Example configurationDescription
/github subscribe owner/repo commitsReceive commit notifications for the default branch.
/github subscribe owner/repo commits:mainOnly receive commit notifications for the main branch.
/github subscribe owner/repo commits:feature/*Receive commit notifications for all branches that start with feature/.
/github subscribe owner/repo commits:*Receive commit notifications for all branches.

Observação

You may have previously used the commits:all filter to receive commit notifications for all branches. This filter is now deprecated. To receive commit notifications for all branches, use the commits:* filter instead. If you have previously set up the commits:all filter, it will continue to work until you update your configuration to use the commits:* filter.

Label filters for issue and pull request notifications

Label filters allow you to filter notifications based on labels applied to issues and pull requests. When a label filter is set, only notifications for events including the specified label will be sent. For more information about labels, see Gerenciar etiquetas and Filtrando e pesquisando problemas e pull requests.

Currently, it is only possible to have one required label filter per repository. The table below shows which event types are affected by label filters.

Event typeIs filtered by label
Pull requests
Issues
Comments
Reviews
Commits/Pushes
Branches

Creating label filters

To create a label filter, use the following command format:

Text
/github subscribe [owner/repo] +label:"your label"

This creates a required-label filter with the value your label. Incoming events that support filters are discarded unless they have that label.

Updating label filters

You can update an existing label filter by specifying a new label value:

Text
/github subscribe [owner/repo] +label:"new label"

This will replace the "your label" filter with the "new label" filter.

Removing label filters

You can remove an existing label filter by using the unsubscribe command with the +label option:

Text
/github unsubscribe [owner/repo] +label:"new label"

This will remove the "new label" filter, and the channel will receive all notifications for the subscribed events without any label filtering.

Viewing active label filters

To view the currently active label filters for a channel, use the following command:

Text
/github subscribe list features

Valid filters

The GitHub app in Slack supports the most common special characters for label filters, including all emojis that Slack and GitHub provide as standard. Rarely, you may encounter a label that contains a special character that is not supported. For example, any multibyte character not encoded as :foo:, or labels using the , character may not work as expected.

Actions workflow notifications

You can subscribe to GitHub Actions workflow run notifications from your channel or personal app using "workflows" feature, using the format /github subscribe owner/repo workflows.

When you are subscribed to "workflows", the following functionality is available:

  • You will get notified when a new workflow run is triggered.

  • You can track the approval notifications as a reply in the thread and you can approve the notifications directly from channel/personal app.

  • Once the workflow is completed, you will get an update as a reply in the thread so that you can complete context and history about the workflow run.

  • If something fails, you can choose to rerun the workflow in place and you can also enable debug logs if needed.

Observação

After 2025-03-10 (GHES version 3.17) you will no longer be notified about the progress of individual workflow jobs. See the GitHub changelog for more details.

Workflow notification filters

You can filter workflow notifications by using the following options:

FilterDescription
nameFilter by the name of the workflow.
actorFilter by the user who triggered the workflow.
branchFilter by the branch the workflow is running on. In cases where the pull_request event is included, the branch will be the target branch the pull request is created for.
eventFilter by the event that triggered the workflow (e.g., push, pull_request).

You can configure workflow notification filters with the following format:

Text
/github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"username"}

You can also pass multiple values for each filter, separated by commas. For example:

Text
/github subscribe owner/repo workflows:{name:"your workflow name","another workflow name" event:"workflow event","another workflow event" branch:"branch name","another branch name" actor:"username","another-username"}

By default, when you configure workflow notifications without passing any filters, it is configured for workflows triggered via pull requests targeting your default branch. You can pass one or multiple entries.

You can unsubscribe from workflow notifications using the command: /github unsubscribe owner/repo workflows.

Observação

To receive GitHub Actions notifications in Slack, the GitHub app requires additional permissions. When you attempt to subscribe to workflows for the first time, you will be prompted to grant these permissions.

Deployment notifications

You can also configure separate deployment notifications. These deployments can happen from GitHub Actions or from external sources using the deployments API. See Pontos de extremidade da API REST para implantações.

You can subscribe/unsubscribe to deployment notifications using the command: /github subscribe/unsubscribe owner/repo deployments.

Observação

If you are using GitHub Actions and want to track your deployments to environments, the workflows feature is recommended, as it provides a more complete picture and the ability to approve your deployments directly from Slack.