Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/integrations/discord.rb')
-rw-r--r--app/models/integrations/discord.rb23
1 files changed, 18 insertions, 5 deletions
diff --git a/app/models/integrations/discord.rb b/app/models/integrations/discord.rb
index 061c491034d..7cae3ca20f9 100644
--- a/app/models/integrations/discord.rb
+++ b/app/models/integrations/discord.rb
@@ -10,15 +10,15 @@ module Integrations
field :webhook,
section: SECTION_TYPE_CONNECTION,
- help: 'e.g. https://discordapp.com/api/webhooks/…',
+ help: 'e.g. https://discord.com/api/webhooks/…',
required: true
field :notify_only_broken_pipelines,
- type: 'checkbox',
+ type: :checkbox,
section: SECTION_TYPE_CONFIGURATION
field :branches_to_be_notified,
- type: 'select',
+ type: :select,
section: SECTION_TYPE_CONFIGURATION,
title: -> { s_('Integrations|Branches for which notifications are to be sent') },
choices: -> { branch_choices }
@@ -45,7 +45,7 @@ module Integrations
end
def default_channel_placeholder
- # No-op.
+ s_('DiscordService|Override the default webhook (e.g. https://discord.com/api/webhooks/…)')
end
def self.supported_events
@@ -72,10 +72,23 @@ module Integrations
]
end
+ def configurable_channels?
+ true
+ end
+
+ def channel_limit_per_event
+ 1
+ end
+
+ def mask_configurable_channels?
+ true
+ end
+
private
def notify(message, opts)
- client = Discordrb::Webhooks::Client.new(url: webhook)
+ webhook_url = opts[:channel]&.first || webhook
+ client = Discordrb::Webhooks::Client.new(url: webhook_url)
client.execute do |builder|
builder.add_embed do |embed|