What is the difference between built-in Mattermost integration in GitLab vs Mattermost plugin for GitLab?

Q: I have setup a local Gitlab community edition instance, which comes with integrated mattermost server. Gitlab also includes a built-in integration with Mattermost. Using incoming webhooks it allows Gitlab to e.g. notify about merge requests and ci job failures, etc. Does mattermost-plugin-gitlab offer more features than the already built-in functionality? Can I run both in parallel?

A: You can run all services in parallel, and each offers a separate set of features:

  1. Built-in Mattermost slash commands: allows you to create and view GitLab issues, and trigger new GitLab CI jobs from Mattermost
  2. GitLab webhooks for Mattermost: allows you to send webhook notifications to Mattermost, as you described
  3. Mattermost plugin for GitLab: offers similar type of notifications as 2, plus daily reminders and sidebar buttons for quick access to open issues, open merge requests and more (see attached).

All in all, I would recommend starting with #3, as this is actively being developed by the Mattermost community and also ships pre-packaged with the GitLab community edition. #1 (for slash commands) can be a good supplement to it.