Merge Freeze offers a Slack app so that your team can easily implement a merge freeze right from Slack and get notified when someone implements a merge freeze.
The Slack app can be added to a project under the “Slack integration” panel. Many projects can be linked to one Slack app installation.
How to link your project with Slack
To install the Slack app you will need to have the correct permissions to install apps to your Slack workspace.
Simply click the “Add to Slack” button in the “Slack integration” panel of your project. This will take you to Slack to grant the permissions required for the Merge Freeze Slack app to be installed in your workspace.
Once the Merge Freeze Slack app has been installed to your workspace you will be taken back to Merge Freeze and prompted to choose a public channel where Merge Freeze notifications will be sent. To integrate private channels, see below.
Notifications are sent every time someone freezes/unfreezes a branch, unfreezes/re-freezes a single pull request, or unfreezes / refreezes deployments.
You can change the channel that these notifications go to at any time by clicking “Change channel” in the Slack integration panel of your protected branch. You can also completely disconnect the Slack app from your project by clicking “Unlink”.
Linking private Slack channels
To integrate Merge Freeze on a "private" Slack channel:
Install the Slack integration as described above, choosing any public channel (or none)
Inside Slack, navigate to your desired private channel and invoke /invite => click "Add apps to this channel" => select Merge Freeze from the list
Email [email protected] your private channel name and branch ID (in Merge Freeze URL, e.g. /branches/xxxx/?tab=integrations)
We'll manually link Merge Freeze to your private Slack channel right away during regular business hours
Using the Slack /mergefreeze command to implement a merge freeze/unfreeze
Once the Slack app is connected to a protected branch you can type the /mergefreeze command from anywhere in your Slack workspace and you will be shown all the projects associated with this Slack workspace with the option to freeze or unfreeze each one.
Merge Freeze's Slack integration showing the unfreeze options
Restricting Slack commands usage
By default, the Slack integration will allow anyone in your Slack organization (who has access to your connected channel) to trigger a freeze/unfreeze of one of your Github repositories.
If you'd like to limit Merge Freeze commands to only developers with access to a Merge Freeze.com account, simply click the "Restrict access" checkbox on the Project > Integrations > Slack settings panel.
Slack command attempts by non-developers will be shown instructions to get whitelisted:
Users may sync their MergeFreeze.com and Slack accounts together from inside Merge Freeze > Project > Integrations > Slack, in just a few seconds.
Finding your Slack member ID
When "restricted access" is enabled for a project's Slack integration, you're required to whitelist your personal Slack account with your MergeFreeze.com account. We use your Slack Member ID to accomplish this sync.
Inside Slack, click your username in the top left corner.
In the following view, click "View full profile" > "More" (under your avatar) > Copy member ID.
Go back to MergeFreeze.com and paste this to link your account. Going forward you'll be able to use /mergefreeze commands inside Slack.
Receiving merge freeze notifications in Slack
When you install the Slack app on a project you will also receive a Slack notification every time a team member manually freezes or unfreezes the branch. We do not currently send any notification when a recurring freeze/unfreeze occurs. As explained above, you can decide which Slack channel receives these notifications for your protected branch.