Add support for event notifications over the Matrix protocol
Problem to solve
There's currently not many choices to get notifications from GitLab into IM systems that can also work as personal chats, without requiring you to pay money for the hosting.
Further details
The Matrix protocol has started to acquire a large following in the recent time, especially within the open-source community for use as an optionally self-hosted and federated IM system. Plenty of bridges have even been created to link multiple other IM networks - Gitter, IRC, Telegram, etc - together into it to allow for a true central IM interface.
The protocol is built as a RESTful HTTP(S) API, making it easy to use for both backend services as well as web clients.
Proposal
There should be an integration available for passing notifications over into rooms on a Matrix HS (Homeserver), to allow better access to GitLab notifications for self-hosting, FOSS, and/or other interested projects.
What does success look like, and how can we measure that?
An integration page of some sort;
With an example of how a very simple notification from such an implementation could look;
PUT /_matrix/client/r0/rooms/%21636q39766251%3Aexample.com/send/m.room.message/12345?access_token=<token> HTTP/1.1
Content-Type: application/json
{
"msgtype": "m.notice",
"body": "[group / project] Pipeline 1234 failed.",
"formatted_body": "[<a href=\"https://gitlab.fqdn/group/project">group / project</a>] Pipeline <a href=\"https://gitlab.fqdn/group/project/pipelines/1234">1234</a> failed.",
"format": "org.matrix.custom.html"
}
Links / references
https://matrix.org
The Matrix client-to-server protocol spec