When creating GitLab group, create Mattermost team
### Resources PM @victorwu | BE @zj | FE @lbennett | UX @pedroms ### Part of #27513 ### Description * Assume your Mattermost instance is already talking to your GitLab instance. * Add a **Create a Mattermost team for this group** option to the **New group** page, which allows users to create a Mattermost team when creating a GitLab group * If Mattermost is not configured, this option is not available. * If Mattermost is configured, this option is available and selected by default. * The Mattermost team is based on the group name and URL of the group (e.g. 'gitlab-org' group creates a 'gitlab-org' Mattermost team) * The entire process is part of the group creation transaction. If there is any failure, the whole thing fails and no group is persisted. * Because this process can be instant or take a while, a loading screen is shown after pressing the **Create group** button * If the Mattermost creation part fails due to some error (e.g. naming restrictions): * the user is brought back to the **New group** page (the form is intact, no info is lost), * with an error message, containing a link to the Mattermost instance team creation page: `http://<mattermost-url>/create_team` * and the Mattermost team creation option is unselected ### Notes * This is just an automated step as part of GitLab group creation. The Mattermost team is not _deeply_ linked to the group. So if you go back to the group page to edit it later, there is no Mattermost team associated with it in the UI. * If you are editing a group, you do not get any of these features. This is just during group creation. ### Design :mag: [**Check design specs** (for spacing, sizes, colors and text copying)](https://gitlab-org.gitlab.io/gitlab-design/progress/pedro/groups/ce%2323964-create-mattermost-team/ce%2323964-create-mattermost-team-spec-previews/) — Hide notes in the top-right corner [Download Mattermost logo asset](https://gitlab.com/gitlab-org/gitlab-design/blob/55d35c2255b0636b82e3ae3c913865131f8ba147/progress/pedro/groups-projects/ce%2323964-automate-mattermost-team-channel-creation/mattermost.svg) **New group** | Unchecked | Checked | Loading | Error message | Success message | |---|---|---|---|---| | ![unchecked](/uploads/95dcd94c3dd60cdacd260a7758cf9383/unchecked.png) | ![checked](/uploads/c4d39676fa6a7e1a0bcc8456c83e8cff/checked.png) | ![creating-group](/uploads/8ee2a076376198d5a59ba695c34b9158/creating-group.png) | ![error](/uploads/78554224dd856b485186c0adaf1f370e/error.png) | ![success](/uploads/475299ecee7e440f661f80b61fe3519d/success.png) | ### Links * This is a todo on: https://about.gitlab.com/handbook/sales/idea-to-production-demo/ * Alternate proposal moved to #25269 * Blocks #27514
issue