From 6f838cf4023be4e1378d14e15a4365b128283abb Mon Sep 17 00:00:00 2001 From: Marcel Amirault Date: Mon, 5 Apr 2021 19:03:11 +0900 Subject: [PATCH 1/6] Update mattermost integration Simplify and clarify UI text in mattermost integration. Move instructions/links to the docs and externalize strings for i18n. --- .../edit/components/trigger_fields.vue | 2 +- app/helpers/services_helper.rb | 24 ++++----- .../chat_notification_service.rb | 8 +-- .../project_services/mattermost_service.rb | 19 +++---- doc/user/project/integrations/mattermost.md | 17 +++--- locale/gitlab.pot | 54 ++++++++++--------- spec/serializers/service_event_entity_spec.rb | 4 +- 7 files changed, 67 insertions(+), 61 deletions(-) diff --git a/app/assets/javascripts/integrations/edit/components/trigger_fields.vue b/app/assets/javascripts/integrations/edit/components/trigger_fields.vue index 1bbecea05ad00d..2c02484d629983 100644 --- a/app/assets/javascripts/integrations/edit/components/trigger_fields.vue +++ b/app/assets/javascripts/integrations/edit/components/trigger_fields.vue @@ -11,7 +11,7 @@ const typeWithPlaceholder = { const placeholderForType = { [typeWithPlaceholder.SLACK]: __('Slack channels (e.g. general, development)'), - [typeWithPlaceholder.MATTERMOST]: __('Channel handle (e.g. town-square)'), + [typeWithPlaceholder.MATTERMOST]: __('my-channel'), }; export default { diff --git a/app/helpers/services_helper.rb b/app/helpers/services_helper.rb index 666286b301617a..50b534936edef8 100644 --- a/app/helpers/services_helper.rb +++ b/app/helpers/services_helper.rb @@ -4,29 +4,29 @@ module ServicesHelper def service_event_description(event) case event when "push", "push_events" - s_("ProjectService|Event triggered when someone pushes to the repository.") + s_("ProjectService|Trigger event for pushes to the repository.") when "tag_push", "tag_push_events" - s_("ProjectService|Event triggered when a new tag is pushed to the repository.") + s_("ProjectService|Trigger event for new tags pushed to the repository.") when "note", "note_events" - s_("ProjectService|Event triggered when someone adds a comment.") + s_("ProjectService|Trigger event for new comments.") when "confidential_note", "confidential_note_events" - s_("ProjectService|Event triggered when someone adds a comment on a confidential issue.") + s_("ProjectService|Trigger event for new comments on confidential issues.") when "issue", "issue_events" - s_("ProjectService|Event triggered when an issue is created, updated, or closed.") + s_("ProjectService|Trigger event when an issue is created, updated, or closed.") when "confidential_issue", "confidential_issue_events" - s_("ProjectService|Event triggered when a confidential issue is created, updated, or closed.") + s_("ProjectService|Trigger event when a confidential issue is created, updated, or closed.") when "merge_request", "merge_request_events" - s_("ProjectService|Event triggered when a merge request is created, updated, or merged.") + s_("ProjectService|Trigger event when a merge request is created, updated, or merged.") when "pipeline", "pipeline_events" - s_("ProjectService|Event triggered when a pipeline status changes.") + s_("ProjectService|Trigger event when a pipeline status changes.") when "wiki_page", "wiki_page_events" - s_("ProjectService|Event triggered when a wiki page is created or updated.") + s_("ProjectService|Trigger event when a wiki page is created or updated.") when "commit", "commit_events" - s_("ProjectService|Event triggered when a commit is created or updated.") + s_("ProjectService|Trigger event when a commit is created or updated.") when "deployment" - s_("ProjectService|Event triggered when a deployment starts or finishes.") + s_("ProjectService|Trigger event when a deployment starts or finishes.") when "alert" - s_("ProjectService|Event triggered when a new, unique alert is recorded.") + s_("ProjectService|Trigger event when a new, unique alert is recorded.") end end diff --git a/app/models/project_services/chat_notification_service.rb b/app/models/project_services/chat_notification_service.rb index cf7cad09676893..bd429b8903b987 100644 --- a/app/models/project_services/chat_notification_service.rb +++ b/app/models/project_services/chat_notification_service.rb @@ -61,11 +61,11 @@ def fields def default_fields [ - { type: 'text', name: 'webhook', placeholder: "e.g. #{webhook_placeholder}", required: true }.freeze, - { type: 'text', name: 'username', placeholder: 'e.g. GitLab' }.freeze, - { type: 'checkbox', name: 'notify_only_broken_pipelines' }.freeze, + { type: 'text', name: 'webhook', placeholder: "#{webhook_placeholder}", required: true }.freeze, + { type: 'text', name: 'username', placeholder: 'GitLab-integration' }.freeze, + { type: 'checkbox', name: 'notify_only_broken_pipelines', help: 'Do not send notifications for successful pipelines.' }.freeze, { type: 'select', name: 'branches_to_be_notified', choices: branch_choices }.freeze, - { type: 'text', name: 'labels_to_be_notified', placeholder: 'e.g. ~backend', help: 'Only supported for issue, merge request and note events.' }.freeze + { type: 'text', name: 'labels_to_be_notified', placeholder: '~backend,~frontend', help: 'Send notifications only for issue, merge request, and comment events with the listed labels. Leave blank to receive notifications for all issue, merge request and comment events.' }.freeze ].freeze end diff --git a/app/models/project_services/mattermost_service.rb b/app/models/project_services/mattermost_service.rb index 9cff979fcf24f3..732a7c32a03d8e 100644 --- a/app/models/project_services/mattermost_service.rb +++ b/app/models/project_services/mattermost_service.rb @@ -2,13 +2,14 @@ class MattermostService < ChatNotificationService include SlackMattermost::Notifier + include ActionView::Helpers::UrlHelper def title - 'Mattermost notifications' + s_('Mattermost notifications') end def description - 'Receive event notifications in Mattermost' + s_('Send notifications about project events to Mattermost channels.') end def self.to_param @@ -16,21 +17,15 @@ def self.to_param end def help - 'This service sends notifications about projects events to Mattermost channels.
- To set up this service: -
    -
  1. Enable incoming webhooks in your Mattermost installation.
  2. -
  3. Add an incoming webhook in your Mattermost team. The default channel can be overridden for each event.
  4. -
  5. Paste the webhook URL into the field below.
  6. -
  7. Select events below to enable notifications. The Channel handle and Username fields are optional.
  8. -
' + docs_link = link_to _('Learn more.'), Rails.application.routes.url_helpers.help_page_url('user/project/integrations/mattermost'), target: '_blank', rel: 'noopener noreferrer' + s_('Send notifications about project events to Mattermost channels. %{docs_link}').html_safe % { docs_link: docs_link.html_safe } end def default_channel_placeholder - "Channel handle (e.g. town-square)" + 'my-channel' end def webhook_placeholder - 'http://mattermost.example.com/hooks/…' + 'http://mattermost.example.com/hooks/' end end diff --git a/doc/user/project/integrations/mattermost.md b/doc/user/project/integrations/mattermost.md index 6a93fc0fb0669b..5bed76121e4f2e 100644 --- a/doc/user/project/integrations/mattermost.md +++ b/doc/user/project/integrations/mattermost.md @@ -6,16 +6,21 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Mattermost Notifications Service **(FREE)** -The Mattermost Notifications Service allows your GitLab project to send events (e.g., `issue created`) to your existing Mattermost team as notifications. This requires configurations in both Mattermost and GitLab. +The Mattermost Notifications Service allows your GitLab project to send events +(for example, `issue created`) to your existing Mattermost team as notifications. +This requires configurations in both Mattermost and GitLab. -You can also use Mattermost slash commands to control GitLab inside Mattermost. This is the separately configured [Mattermost slash commands](mattermost_slash_commands.md). +You can also use [Mattermost slash commands](mattermost_slash_commands.md) to control +GitLab inside Mattermost. ## On Mattermost -To enable Mattermost integration you must create an incoming webhook integration: +To use the Mattermost integration you must create an incoming webhook integration +in Mattermost: 1. Sign in to your Mattermost instance. -1. Visit incoming webhooks, that is something like: `https://mattermost.example.com/your_team_name/integrations/incoming_webhooks/add`. +1. [Enable incoming webhooks](https://docs.mattermost.com/developer/webhooks-incoming.html#enabling-incoming-webhooks). +1. [Add an incoming webhook](https://docs.mattermost.com/developer/webhooks-incoming.html#creating-integrations-using-incoming-webhooks). 1. Choose a display name, description and channel, those can be overridden on GitLab. 1. Save it and copy the **Webhook URL** because we need this later for GitLab. @@ -56,9 +61,9 @@ At the end, fill in your Mattermost details: | Field | Description | | ----- | ----------- | | **Webhook** | The incoming webhook URL which you have to set up on Mattermost, similar to: `http://mattermost.example/hooks/5xo…` | -| **Username** | Optional username which can be on messages sent to Mattermost. Fill this in if you want to change the username of the bot. | +| **Username** | (Optional) Username to show on messages sent to Mattermost. Fill this in if you want to change the username of the bot. | | **Notify only broken pipelines** | If you choose to enable the **Pipeline** event and you want to be only notified about failed pipelines. | | **Branches to be notified** | Select which types of branches to send notifications for. | -| **Labels to be notified** | Optional labels that the issue or merge request must have in order to trigger a notification. Leave blank to get all notifications. | +| **Labels to be notified** | (Optional) Labels that the issue or merge request must have in order to trigger a notification. Leave blank to get notifications for all issues and merge requests. | ![Mattermost configuration](img/mattermost_configuration_v2.png) diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 77471d5ba09e80..5f277e1d1f424c 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -5802,9 +5802,6 @@ msgstr "" msgid "Changing group URL can have unintended side effects." msgstr "" -msgid "Channel handle (e.g. town-square)" -msgstr "" - msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}" msgstr "" @@ -24137,67 +24134,67 @@ msgstr "" msgid "ProjectService|Enter new password" msgstr "" -msgid "ProjectService|Event triggered when a commit is created or updated." +msgid "ProjectService|Issue URL" msgstr "" -msgid "ProjectService|Event triggered when a confidential issue is created, updated, or closed." +msgid "ProjectService|Jenkins URL" msgstr "" -msgid "ProjectService|Event triggered when a deployment starts or finishes." +msgid "ProjectService|Leave blank to use your current API key" msgstr "" -msgid "ProjectService|Event triggered when a merge request is created, updated, or merged." +msgid "ProjectService|Leave blank to use your current password" msgstr "" -msgid "ProjectService|Event triggered when a new tag is pushed to the repository." +msgid "ProjectService|Mock service URL" msgstr "" -msgid "ProjectService|Event triggered when a new, unique alert is recorded." +msgid "ProjectService|New issue URL" msgstr "" -msgid "ProjectService|Event triggered when a pipeline status changes." +msgid "ProjectService|Perform common operations on GitLab project: %{project_name}" msgstr "" -msgid "ProjectService|Event triggered when a wiki page is created or updated." +msgid "ProjectService|TeamCity URL" msgstr "" -msgid "ProjectService|Event triggered when an issue is created, updated, or closed." +msgid "ProjectService|To configure this integration, you should:" msgstr "" -msgid "ProjectService|Event triggered when someone adds a comment on a confidential issue." +msgid "ProjectService|Trigger event for new comments on confidential issues." msgstr "" -msgid "ProjectService|Event triggered when someone adds a comment." +msgid "ProjectService|Trigger event for new comments." msgstr "" -msgid "ProjectService|Event triggered when someone pushes to the repository." +msgid "ProjectService|Trigger event for new tags pushed to the repository." msgstr "" -msgid "ProjectService|Issue URL" +msgid "ProjectService|Trigger event for pushes to the repository." msgstr "" -msgid "ProjectService|Jenkins URL" +msgid "ProjectService|Trigger event when a commit is created or updated." msgstr "" -msgid "ProjectService|Leave blank to use your current API key" +msgid "ProjectService|Trigger event when a confidential issue is created, updated, or closed." msgstr "" -msgid "ProjectService|Leave blank to use your current password" +msgid "ProjectService|Trigger event when a deployment starts or finishes." msgstr "" -msgid "ProjectService|Mock service URL" +msgid "ProjectService|Trigger event when a merge request is created, updated, or merged." msgstr "" -msgid "ProjectService|New issue URL" +msgid "ProjectService|Trigger event when a new, unique alert is recorded." msgstr "" -msgid "ProjectService|Perform common operations on GitLab project: %{project_name}" +msgid "ProjectService|Trigger event when a pipeline status changes." msgstr "" -msgid "ProjectService|TeamCity URL" +msgid "ProjectService|Trigger event when a wiki page is created or updated." msgstr "" -msgid "ProjectService|To configure this integration, you should:" +msgid "ProjectService|Trigger event when an issue is created, updated, or closed." msgstr "" msgid "ProjectSettings|%{link_start}What are description templates?%{link_end}" @@ -27788,6 +27785,12 @@ msgstr "" msgid "Send message" msgstr "" +msgid "Send notifications about project events to Mattermost channels." +msgstr "" + +msgid "Send notifications about project events to Mattermost channels. %{docs_link}" +msgstr "" + msgid "Send report" msgstr "" @@ -36813,6 +36816,9 @@ msgstr "" msgid "my-awesome-group" msgstr "" +msgid "my-channel" +msgstr "" + msgid "n/a" msgstr "" diff --git a/spec/serializers/service_event_entity_spec.rb b/spec/serializers/service_event_entity_spec.rb index 34ffd93ea0cbc2..64baa57fd6d782 100644 --- a/spec/serializers/service_event_entity_spec.rb +++ b/spec/serializers/service_event_entity_spec.rb @@ -17,7 +17,7 @@ let(:event) { 'push' } it 'exposes correct attributes' do - expect(subject[:description]).to eq('Event triggered when someone pushes to the repository.') + expect(subject[:description]).to eq('Trigger event for pushes to the repository.') expect(subject[:name]).to eq('push_events') expect(subject[:title]).to eq('push') expect(subject[:value]).to be(true) @@ -29,7 +29,7 @@ let(:event) { 'note' } it 'exposes correct attributes' do - expect(subject[:description]).to eq('Event triggered when someone adds a comment.') + expect(subject[:description]).to eq('Trigger event for new comments.') expect(subject[:name]).to eq('note_events') expect(subject[:title]).to eq('note') expect(subject[:value]).to eq(false) -- GitLab From 08456fd4d7b879257b1c2bbdd323b370a0d4bf36 Mon Sep 17 00:00:00 2001 From: Marcel Amirault Date: Mon, 5 Apr 2021 19:06:04 +0900 Subject: [PATCH 2/6] Add changelog file --- changelogs/unreleased/ui-text-mattermost-integration.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/ui-text-mattermost-integration.yml diff --git a/changelogs/unreleased/ui-text-mattermost-integration.yml b/changelogs/unreleased/ui-text-mattermost-integration.yml new file mode 100644 index 00000000000000..5544ba70ac344c --- /dev/null +++ b/changelogs/unreleased/ui-text-mattermost-integration.yml @@ -0,0 +1,5 @@ +--- +title: Update mattermost integration UI text +merge_request: 58570 +author: +type: other -- GitLab From 60e0522c5b453682d672b784d5804ab889ec7d71 Mon Sep 17 00:00:00 2001 From: Marcel Amirault Date: Mon, 5 Apr 2021 19:34:31 +0900 Subject: [PATCH 3/6] Remove large screenshot from mattermost doc --- .../img/mattermost_configuration_v2.png | Bin 75931 -> 0 bytes doc/user/project/integrations/mattermost.md | 2 -- 2 files changed, 2 deletions(-) delete mode 100644 doc/user/project/integrations/img/mattermost_configuration_v2.png diff --git a/doc/user/project/integrations/img/mattermost_configuration_v2.png b/doc/user/project/integrations/img/mattermost_configuration_v2.png deleted file mode 100644 index 0470869c4f7758290046d1109e45126f8633661d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75931 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 z 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 HoD!M Date: Mon, 5 Apr 2021 19:50:20 +0900 Subject: [PATCH 4/6] Copy edit mattermost docs --- doc/user/project/integrations/mattermost.md | 46 ++++++++------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/doc/user/project/integrations/mattermost.md b/doc/user/project/integrations/mattermost.md index 7f28768f8d03a8..dbb9df6ffcf6ea 100644 --- a/doc/user/project/integrations/mattermost.md +++ b/doc/user/project/integrations/mattermost.md @@ -4,16 +4,16 @@ group: Ecosystem info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments --- -# Mattermost Notifications Service **(FREE)** +# Mattermost notifications service **(FREE)** -The Mattermost Notifications Service allows your GitLab project to send events -(for example, `issue created`) to your existing Mattermost team as notifications. -This requires configurations in both Mattermost and GitLab. +Use the Mattermost notifications service to send notifications for GitLab events +(for example, `issue created`) to Mattermost. You must configure both [Mattermost](#configure-mattermost-to-receive-gitlab-notifications) +and [GitLab](#configure-gitlab-to-send-notifications-to-mattermost). You can also use [Mattermost slash commands](mattermost_slash_commands.md) to control GitLab inside Mattermost. -## On Mattermost +## Configure Mattermost to receive GitLab notifications To use the Mattermost integration you must create an incoming webhook integration in Mattermost: @@ -34,34 +34,24 @@ to enable it on: Display name override is not enabled by default, you need to ask your administrator to enable it on that same section. -## On GitLab +## Configure GitLab to send notifications to Mattermost -After you set up Mattermost, it's time to set up GitLab. +After the Mattermost instance has an incoming webhook set up, you can set up GitLab +to send the notifications. Navigate to the [Integrations page](overview.md#accessing-integrations) -and select the **Mattermost notifications** service to configure it. -There, you see a checkbox with the following events that can be triggered: +and select the **Mattermost notifications** service. Select the GitLab events +that you want to generate notifications. -- Push -- Issue -- Confidential issue -- Merge request -- Note -- Confidential note -- Tag push -- Pipeline -- Wiki page -- Deployment +For each event you select, input the Mattermost channel you want to receive the +notification. You do not need to add the hash sign `#`. -Below each of these event checkboxes, you have an input field to enter -which Mattermost channel you want to send that event message. Enter your preferred channel handle (the hash sign `#` is optional). - -At the end, fill in your Mattermost details: +Then fill in the integration configuration: | Field | Description | | ----- | ----------- | -| **Webhook** | The incoming webhook URL which you have to set up on Mattermost, similar to: `http://mattermost.example/hooks/5xo…` | -| **Username** | (Optional) Username to show on messages sent to Mattermost. Fill this in if you want to change the username of the bot. | -| **Notify only broken pipelines** | If you choose to enable the **Pipeline** event and you want to be only notified about failed pipelines. | -| **Branches to be notified** | Select which types of branches to send notifications for. | -| **Labels to be notified** | (Optional) Labels that the issue or merge request must have in order to trigger a notification. Leave blank to get notifications for all issues and merge requests. | +| **Webhook** | The incoming webhook URL on Mattermost, similar to: `http://mattermost.example/hooks/5xo…`. | +| **Username** | (Optional) The username to show on messages sent to Mattermost. Fill this in to change the username of the bot. | +| **Notify only broken pipelines** | If you enable the **Pipeline** event and you want to be notified about failed pipelines only. | +| **Branches to be notified** | Select which branches to send notifications for. | +| **Labels to be notified** | (Optional) Labels that the issue or merge request must have to trigger a notification. Leave blank to get notifications for all issues and merge requests. | -- GitLab From 141b68da8b980268404498aa956c8e3a27bca465 Mon Sep 17 00:00:00 2001 From: Marcel Amirault Date: Tue, 6 Apr 2021 00:37:49 +0000 Subject: [PATCH 5/6] Apply 3 suggestion(s) to 2 file(s) --- app/models/project_services/chat_notification_service.rb | 2 +- doc/user/project/integrations/mattermost.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/project_services/chat_notification_service.rb b/app/models/project_services/chat_notification_service.rb index bd429b8903b987..4a99842b4d53ef 100644 --- a/app/models/project_services/chat_notification_service.rb +++ b/app/models/project_services/chat_notification_service.rb @@ -65,7 +65,7 @@ def default_fields { type: 'text', name: 'username', placeholder: 'GitLab-integration' }.freeze, { type: 'checkbox', name: 'notify_only_broken_pipelines', help: 'Do not send notifications for successful pipelines.' }.freeze, { type: 'select', name: 'branches_to_be_notified', choices: branch_choices }.freeze, - { type: 'text', name: 'labels_to_be_notified', placeholder: '~backend,~frontend', help: 'Send notifications only for issue, merge request, and comment events with the listed labels. Leave blank to receive notifications for all issue, merge request and comment events.' }.freeze + { type: 'text', name: 'labels_to_be_notified', placeholder: '~backend,~frontend', help: 'Send notifications for issue, merge request, and comment events with the listed labels only. Leave blank to receive notifications for all events.' }.freeze ].freeze end diff --git a/doc/user/project/integrations/mattermost.md b/doc/user/project/integrations/mattermost.md index dbb9df6ffcf6ea..0a32119d572131 100644 --- a/doc/user/project/integrations/mattermost.md +++ b/doc/user/project/integrations/mattermost.md @@ -41,10 +41,10 @@ to send the notifications. Navigate to the [Integrations page](overview.md#accessing-integrations) and select the **Mattermost notifications** service. Select the GitLab events -that you want to generate notifications. +you want to generate notifications for. For each event you select, input the Mattermost channel you want to receive the -notification. You do not need to add the hash sign `#`. +notification. You do not need to add the hash sign (`#`). Then fill in the integration configuration: -- GitLab From a94cea7387c0e6b4059c1623df7f172a40218623 Mon Sep 17 00:00:00 2001 From: Marcel Amirault Date: Tue, 6 Apr 2021 10:03:39 +0900 Subject: [PATCH 6/6] Last update to pot file --- locale/gitlab.pot | 3 +++ 1 file changed, 3 insertions(+) diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 5f277e1d1f424c..cb72d2ea094946 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -18972,6 +18972,9 @@ msgstr "" msgid "Mattermost URL:" msgstr "" +msgid "Mattermost notifications" +msgstr "" + msgid "MattermostService|Add to Mattermost" msgstr "" -- GitLab