Using GitLab Service Desk instead of Discourse e-mail integration as mailing list substitute

In October 2022, we’ve decommissioned the old mailing lists infrastructure, recommending Discourse e-mail integration instead. This has proven challenging for private categories, as Discourse checks if the sender has an existing account and verifies if they have permissions to post there, causing deliverability issues.

With Service Desk, users can create new issues using e-mail without an account. While the sender interacts with the thread only through email, teams respond directly from GitLab, including the possibility to add assignees or create internal notes before sending a response to the submitter. The issues are confidential by default and visible only to the project members.

Service Desk is not a new feature per se. What has changed is that it is now possible to assign an e-mail alias to the project’s issue trackers, allowing to replicate human-readable addresses like info@gnome.org. This is currently provided by a new server-side component, and will be replaced by native GitLab functionality when it’s considered production-ready in some future release.

Limitations

Service Desk is currently incapable of handling multiple recipients, including the Cc fields. We have also observed some attachments with unusual file types silently removed. For that reason, all incoming messages are kept on the server, and can be inspected in case of corruption.

Example flow

A user wants to contact the Infrastructure Team about an issue with authentication. They send an e-mail to sysadmin@gnome.org. After up to 5 minutes, they receive a confirmation e-mail that a new issue has been created.

In the message above, both GitLab Support Bot and the response itself can be changed to something more fitting.

A corresponding issue is created in the target project, in this instance, Infrastructure/Infrastructure:

Possible attachments would be attached as regular files to that issue. Additionally, the alias integration attaches the original message as original_message.eml.gz to make it possible to inspect recipients or re-use the Message-Id field when sending a response manually from an email client.

Sysadmin responses, and user receives it over e-mail:

Please note that users are not notified about the issue being closed or re-opened.

Requesting Service Desk for a project

As usually, please open a new issue in the Infrastructure bug tracker. We need to know the project at which Service Desk needs enabling, and the e-mail alias that should point to it.

If you wish to modify the automatic response or the name of the helper bot, please refer to GitLab documentation. We can help to configure it if you provide the response templates in your GitLab issue.

3 Likes