Bonjour,
I activated the GitLab mattermost integration so all activity from the fedeproxy project goes to the fedeproxy chat room. And then looked into the implementation:
- https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/models/project_services/mattermost_service.rb
- https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/mattermost
- …
Which appears to be tightly integrated in the GitLab codebase. I was half expecting it to use some kind of plugin system but it’s all ad-hoc.
While exploring this I noticed there is a difference between integrations which includes mattermost and can be tuned on a per-project basis. It is a subset of the GItLab integrations which also includes, for instance Jenkins which is not configurable on a per project basis.
Cheers