diff options
author | Olena Horal-Koretska <ohoralkoretska@gitlab.com> | 2019-08-09 14:32:57 +0300 |
---|---|---|
committer | Olena Horal-Koretska <ohoralkoretska@gitlab.com> | 2019-08-09 14:52:13 +0300 |
commit | a32a30783fff15ee906c2c053e1e6cde59cbaff7 (patch) | |
tree | 50487e7b1d3d72a01cae59b05b04d94eaf4a39d5 | |
parent | 400da76d5e6db4c9ea8180d20366e04dc4f36651 (diff) | |
download | gitlab-ce-63450-Zoom-service-intagration-as-project-service.tar.gz |
Zoom integration - Add Zoom Service as project service63450-Zoom-service-intagration-as-project-service
-rw-r--r-- | app/models/project.rb | 1 | ||||
-rw-r--r-- | app/models/project_services/zoom_service.rb | 43 | ||||
-rw-r--r-- | app/models/service.rb | 4 | ||||
-rw-r--r-- | lib/api/helpers/services_helpers.rb | 17 |
4 files changed, 64 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 960795b73cb..0ed9e2cb47a 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -147,6 +147,7 @@ class Project < ApplicationRecord has_one :flowdock_service has_one :assembla_service has_one :asana_service + has_one :zoom_service has_one :mattermost_slash_commands_service has_one :mattermost_service has_one :slack_slash_commands_service diff --git a/app/models/project_services/zoom_service.rb b/app/models/project_services/zoom_service.rb new file mode 100644 index 00000000000..5addbfdb72c --- /dev/null +++ b/app/models/project_services/zoom_service.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +class ZoomService < Service + prop_accessor :api_key, :api_secret + validates :api_key, :api_secret, presence: true, if: :activated? + def title + 'Zoom' + end + + def description + s_('ZoomService|Integrating Zoom allows you to embed zoom content in GitLab issues') + end + + def help + 'Embed Zoom content in GitLab issues' + end + + def self.to_param + 'zoom' + end + + def fields + [ + { + type: 'text', + name: 'api_key', + placeholder: s_('ZoomService|Api key placeholder...'), + required: true + }, + { + type: 'text', + name: 'api_secret', + placeholder: s_('ZoomService|Secret key placeholder...'), + required: true + } + ] + end + + def self.supported_events + %w() + end + +end diff --git a/app/models/service.rb b/app/models/service.rb index 752467622f2..a0cee39cbb6 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -280,6 +280,10 @@ class Service < ApplicationRecord service_names += %w[mock_ci mock_deployment mock_monitoring] end + if Feature.enabled?(:zoom_integration) + service_names += %w[zoom] + end + service_names.sort_by(&:downcase) end diff --git a/lib/api/helpers/services_helpers.rb b/lib/api/helpers/services_helpers.rb index c4ecf55969c..43618745fb8 100644 --- a/lib/api/helpers/services_helpers.rb +++ b/lib/api/helpers/services_helpers.rb @@ -170,6 +170,20 @@ module API desc: 'Comma-separated list of branches which will be automatically inspected. Leave blank to include all branches' } ], + 'zoom' => [ + { + required: true, + name: :api_key, + type: String, + desc: 'Zoom api key' + }, + { + required: true, + name: :api_secret, + type: String, + desc: 'Zoom secret key' + } + ], 'assembla' => [ { required: true, @@ -752,7 +766,8 @@ module API ::SlackService, ::MattermostService, ::MicrosoftTeamsService, - ::TeamcityService + ::TeamcityService, + ::ZoomService ] end |