Around the world, thousands of DevSecOps teams are shipping software faster and more reliably by integrating Mattermost with their self-hosted GitLab deployments. When combined, these platforms connect developer toolchains with real-time communications, audio calling, screen sharing and collaborative workflows.
We’re excited to announce “Mattermost Solutions for GitLab” to make it easier than ever for more teams to realize the benefits of an integrated platform that delivers:
- Control of Collaboration: Information remains within one secure, easy-to-use system
- Reduced Risk and Error Rates: Document, share, and operationalize team expertise
- Increased Operational Productivity: Automate repeatable processes and customize notifications
The solution has three components:
- Integrated deployment and management: Turnkey Mattermost deployment, upgrades, and management via GitLab Omnibus
- Out-of-the-box GitLab functionality: Real-time alerting about merge requests, issues, pipelines, and deployment for your GitLab projects with bi-directional control via in-channel tooling
- Platform for custom actions: Deep extensibility via incoming and outgoing webhooks, slash commands, notifications, playbooks, and plugins
If you’re using GitLab at your organization, your teams are already equipped with everything needed to use Mattermost for secure collaboration. How can you take advantage of this untapped potential? Let’s turn the key.
1. Integrated Mattermost and GitLab Deployment
Mattermost is one of a handful of tools included in the official GitLab Linux package, aka GitLab Omnibus. That means spinning up a Mattermost workspace from the GitLab package instantly delivers connections and configuration without extra work.
Follow the instructions here to enable Mattermost for your GitLab deployment in just two simple steps. Otherwise, if you don’t already have GitLab deployed, you can do so by following the instructions here first.
After you follow those steps and run
sudo gitlab-ctl reconfigure, you’ll see logs indicating that GitLab is initializing the Mattermost instance.
After a few moments, you can navigate in your browser to the hostname you previously configured in your DNS for the Mattermost instance.
GitLab Mattermost is now enabled for your organization. Depending on the size, goals, and workflows of your organization and its projects on GitLab, you can enable additional integrations to deeply connect the two deployments with minimal effort.
2. GitLab Plugin
The Mattermost GitLab plugin lets you easily configure and use key release management processes. To get started with the Mattermost GitLab plugin, watch the “Mattermost GitLab Plugin Setup” chapter in the video below.
For the same step-by-step tutorial in documentation form, follow this link. Once you complete those steps, you’re ready to dive into the capabilities of a tightly-integrated GitLab and Mattermost deployment. To see the full possibilities with a Mattermost Enterprise license, let’s highlight some of the latest and greatest features and workflows in the next section.
3. Custom DevSecOps Command Center
Mattermost is designed to be a command center for an organization’s work, giving cross-functional teams insight, control, and quick access to the information they need for a given project at a given moment. For example, when a software release team is rolling out a new deployment, they can trigger a pipeline build with a single click on a task in Mattermost, see feedback on the status of that build in subscribed channels, automatically resolve tasks based on trigger phrases, receive alerts from monitoring tools, and best of all, automatically push any part of that wealth of data to other teams and stakeholders within Mattermost.
All of this comes together via configuration of your workspace using slash commands, webhooks, markdown templates, and custom integrations with other tools to bring the right information to the right people.
For any GitLab project, navigate to Settings -> Integrations and under Add an integration you’ll see two options for Mattermost: Mattermost notifications and Mattermost slash commands. Let’s look at setting up Mattermost notifications first.
On your Mattermost instance, click the top-left menu icon, then Integrations. Create an incoming webhook to post on your desired channel (or leave it configured for any channel) and copy the provided URL. You can use this webhook URL to set up Mattermost notifications back in GitLab, filtered for various events, including pushes, issues, and merge requests. Using just one webhook, you can route different notifications from one project to different channels by entering different channel names for each event type. For more information, refer to the GitLab documentation here.
Mattermost slash commands
Configuring per-project slash commands from GitLab is even simpler! Just click the Add to Mattermost button when it’s presented.
You will be directed to a page where you can set the slash command trigger word to let you interact with this GitLab project from Mattermost.
Check out the official documentation to learn more about the slash commands provided by GitLab, and run
/gitlab help in Mattermost for additional pointers.
Learn more about GitLab Solutions on Mattermost
When a team is in the flow, it’s disruptive to shift to another tool, another interface, and spend a dozen clicks to perform a simple task. In this year’s developer survey, we learned that 71% of technical teams face productivity challenges because of the context switching caused by fragmented tools. Bringing GitLab and Mattermost together creates a central hub for your technical team’s work, ensuring that everyone directly receives precisely the information they need without context switching.
If you’d like to learn more about using Mattermost and GitLab to streamline your release management processes, watch our recently recorded webinar. Prefer a hands-on approach? Check out the quickest way to integrate Mattermost into your GitLab release pipeline to get a taste of how Mattermost and GitLab work better together.