A GitLab plugin for Mattermost. The plugin is currently in beta.
Originally developed by Romain Maneschi.
- Daily reminders - the first time you log in to Mattermost each day, get a post letting you know what issues and merge requests need your attention
- Notifications - get a direct message in Mattermost when someone mentions you, requests your review, comments on or modifies one of your merge requests/issues, or assigns you on GitLab
- Sidebar buttons - stay up-to-date with how many reviews, unread messages, assignments and open merge requests you have with buttons in the Mattermost sidebar
- Slash commands - interact with the GitLab plugin using the
/gitlab
slash command- Subscribe to a respository - Use
/gitlab subscribe
to subscribe a Mattermost channel to receive posts for new merge requests and/or issues in a GitLab repository - Get to do items - Use
/gitlab todo
to get an ephemeral message with items to do in GitLab - Update settings - Use
/gitlab settings
to update your settings for the plugin - And more! - Run
/gitlab help
to see what else the slash command can do
- Subscribe to a respository - Use
- Supports GitLab On Premise - Works with SaaS and On Premise versions of GitLab
Requires Mattermost 5.10+ and Gitlab 11.2+ see Compatibility for others versions
- Install the plugin
- Download the com.github.manland.mattermost-plugin-gitlab-X.X.X.tar.gz file of the latest version of the plugin from the GitHub releases page
- In Mattermost, go the System Console -> Plugins -> Management
- Upload the plugin
- Register a GitLab OAuth app
- Go to https://gitlab.com/profile/applications or https://gitlab.yourdomain.com/profile/applications
- Use "Mattermost GitLab Plugin - " as the name
- Use "https://your-mattermost-url.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/complete" as the authorization callback URL, replacing
https://your-mattermost-url.com
with your Mattermost URL - Check
api
andread_user
in scopes - Submit and copy the Client ID and Secret
- In Mattermost, go to System Console -> Plugins -> GitLab
- Fill in the Gitlab URL, Client ID and Secret and save the settings
- Go to https://gitlab.com/profile/applications or https://gitlab.yourdomain.com/profile/applications
- Create a GitLab webhook
- In Mattermost, go to the System Console -> Plugins -> GitLab and copy the "Webhook Secret"
- Go to the settings page of your GitLab project and click on "Integrations" in the sidebar
- Use "https://your-mattermost-url.com/plugins/com.github.manland.mattermost-plugin-gitlab/webhook" as the URL, replacing
https://your-mattermost-url.com
with your Mattermost URL - Paste the webhook secret you copied before into the secret token field
- Select all events
- Use "https://your-mattermost-url.com/plugins/com.github.manland.mattermost-plugin-gitlab/webhook" as the URL, replacing
- Save the webhook
- Note for each project you want to receive notifications for or subscribe to, you must create a webhook
- Generate an at rest encryption key
- Go to the System Console -> Plugins -> GitLab and click "Regenerate" under "At Rest Encryption Key"
- Save the settings
- (Optional) Lock the plugin to a GitLab group
- Go to System Console -> Plugins -> GitLab and set the GitLab Group field to the name of your GitLab group
- (Optional) Enable private repositories
- Go to System Console -> Plugins -> GitLab and set Enable Private Repositories to true
- Note that if you do this after users have already connected their accounts to GitLab they will need to disconnect and reconnect their accounts to be able to use private repositories
- Enable the plugin
- Go to System Console -> Plugins -> Management and click "Enable" underneath the GitLab plugin
- Test it out
- In Mattermost, run the slash command
/gitlab connect
- In Mattermost, run the slash command
Mattermost-Plugin-Gitlab | Mattermost | Gitlab |
---|---|---|
0.3.0 | 5.10+ | 11.2+ |
0.2.0 | 5.8+ | 11.2+ |
0.1.0 | 5.8+ | 11.2+ |
This plugin contains both a server and web app portion.
Use make dist
to build distributions of the plugin that you can upload to a Mattermost server.
Use make check-style
to check the style.
Use make deploy
to deploy the plugin to your local server. Before running make deploy
you need to set a few environment variables:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_USERNAME=admin
export MM_ADMIN_PASSWORD=password
This project is a fork of the mattermost-plugin-github. Thanks to all contributors of it.
Feel free to create a GitHub issue or join the GitLab Plugin channel on our community Mattermost instance to discuss.