A GitLab plugin for Mattermost. This plugin supports a two-way integration between Mattermost and GitLab. This plugin supports Software-as-a-Service (SaaS) or on-premises versions of GitLab.
Originally developed by Romain Maneschi. This project is a fork of the mattermost-plugin-github. Thanks to all contributors of it.
Maintainer: @mickmister
Co-Maintainer: @hanzei
See the Mattermost Product Documentation for details on installing, configuring, enabling, and using this Mattermost integration.
Notify your team of the latest updates by sending notifications from your GitLab group or repository to Mattermost channels. When team members log in the first time to Mattermost each day, they can get a post letting them know what issues and merge requests need their attention. They can also get a refresh of new events by selecting Refresh from every webhook configured in GitLab.
You can specify which events trigger a notification. They can see:
- issues - includes new and closed issues
- merges - includes new and closed merge requests
- pushes - includes pushes
- issue_comments - includes new issue comments
- merge_request_comments - include new merge-request comments
- pipeline - include pipeline
- tag - include tag creation
- pull_reviews - includes merge request reviews
- label:"" - must include "merges" or "issues" in feature list when using a label
- Defaults to "merges,issues,tag"
Each user in Mattermost is connected with their own personal GitLab account. Users can get a direct message in Mattermost when someone mentions them, requests their review, comments on, or modifies one of their merge requests/issues, or assigns them on GitLab.
Team members can stay up-to-date with how many reviews, todos, assigned issues, and assigned merge requests they have by using buttons in the Mattermost sidebar.
This plugin contains both a server and web app portion. Read our documentation about the Developer Workflow and Developer Setup for more information about developing and extending plugins.
If you're interested in joining our community of developers who contribute to Mattermost - check out the current set of issues that are being requested.
You can also find issues labeled "Help Wanted" in the GitLab plugin repository that we have laid out the primary requirements for and could use some coding help from the community.
For Mattermost customers - please open a support case to ensure your issue is tracked properly.
For Questions, suggestions, and help - please find us on our forum at https://forum.mattermost.org/c/plugins.
Alternatively, join our public Mattermost server and join the Integrations and Apps channel.
Feel free to create a GitHub issue or join the GitLab Plugin channel on our community Mattermost instance to discuss.
Share your thoughts in the Plugin: GitLab Channel on our Mattermost community!
The version of a plugin is determined at compile time, automatically populating a version
field in the plugin manifest:
- If the current commit matches a tag, the version will match after stripping any leading
v
, e.g.1.3.1
. - Otherwise, the version will combine the nearest tag with
git rev-parse --short HEAD
, e.g.1.3.1+d06e53e1
. - If there is no version tag, an empty version will be combined with the short hash, e.g.
0.0.0+76081421
.
To disable this behaviour, manually populate and maintain the version
field.
To trigger a release, follow these steps:
-
For Patch Release: Run the following command:
make patch
This will release a patch change.
-
For Minor Release: Run the following command:
make minor
This will release a minor change.
-
For Major Release: Run the following command:
make major
This will release a major change.
-
For Patch Release Candidate (RC): Run the following command:
make patch-rc
This will release a patch release candidate.
-
For Minor Release Candidate (RC): Run the following command:
make minor-rc
This will release a minor release candidate.
-
For Major Release Candidate (RC): Run the following command:
make major-rc
This will release a major release candidate.