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/project_services')
-rw-r--r--app/models/project_services/buildkite_service.rb37
-rw-r--r--app/models/project_services/gitlab_issue_tracker_service.rb45
-rw-r--r--app/models/project_services/jira_service.rb7
-rw-r--r--app/models/project_services/jira_tracker_data.rb2
-rw-r--r--app/models/project_services/prometheus_service.rb8
5 files changed, 43 insertions, 56 deletions
diff --git a/app/models/project_services/buildkite_service.rb b/app/models/project_services/buildkite_service.rb
index fc7a0180786..53bb7b47b41 100644
--- a/app/models/project_services/buildkite_service.rb
+++ b/app/models/project_services/buildkite_service.rb
@@ -8,13 +8,32 @@ class BuildkiteService < CiService
ENDPOINT = "https://buildkite.com"
prop_accessor :project_url, :token
- boolean_accessor :enable_ssl_verification
validates :project_url, presence: true, public_url: true, if: :activated?
validates :token, presence: true, if: :activated?
after_save :compose_service_hook, if: :activated?
+ def self.supported_events
+ %w(push merge_request tag_push)
+ end
+
+ # This is a stub method to work with deprecated API response
+ # TODO: remove enable_ssl_verification after 14.0
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/222808
+ def enable_ssl_verification
+ true
+ end
+
+ # Since SSL verification will always be enabled for Buildkite,
+ # we no longer needs to store the boolean.
+ # This is a stub method to work with deprecated API param.
+ # TODO: remove enable_ssl_verification after 14.0
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/222808
+ def enable_ssl_verification=(_value)
+ self.properties.delete('enable_ssl_verification') # Remove unused key
+ end
+
def webhook_url
"#{buildkite_endpoint('webhook')}/deliver/#{webhook_token}"
end
@@ -22,7 +41,7 @@ class BuildkiteService < CiService
def compose_service_hook
hook = service_hook || build_service_hook
hook.url = webhook_url
- hook.enable_ssl_verification = !!enable_ssl_verification
+ hook.enable_ssl_verification = true
hook.save
end
@@ -49,7 +68,7 @@ class BuildkiteService < CiService
end
def description
- 'Continuous integration and deployments'
+ 'Buildkite is a platform for running fast, secure, and scalable continuous integration pipelines on your own infrastructure'
end
def self.to_param
@@ -60,15 +79,15 @@ class BuildkiteService < CiService
[
{ type: 'text',
name: 'token',
- placeholder: 'Buildkite project GitLab token', required: true },
+ title: 'Integration Token',
+ help: 'This token will be provided when you create a Buildkite pipeline with a GitLab repository',
+ required: true },
{ type: 'text',
name: 'project_url',
- placeholder: "#{ENDPOINT}/example/project", required: true },
-
- { type: 'checkbox',
- name: 'enable_ssl_verification',
- title: "Enable SSL verification" }
+ title: 'Pipeline URL',
+ placeholder: "#{ENDPOINT}/acme-inc/test-pipeline",
+ required: true }
]
end
diff --git a/app/models/project_services/gitlab_issue_tracker_service.rb b/app/models/project_services/gitlab_issue_tracker_service.rb
deleted file mode 100644
index b3f44e040bc..00000000000
--- a/app/models/project_services/gitlab_issue_tracker_service.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# frozen_string_literal: true
-
-class GitlabIssueTrackerService < IssueTrackerService
- include Gitlab::Routing
-
- validates :project_url, :issues_url, :new_issue_url, presence: true, public_url: true, if: :activated?
-
- default_value_for :default, true
-
- def title
- 'GitLab'
- end
-
- def description
- s_('IssueTracker|GitLab issue tracker')
- end
-
- def self.to_param
- 'gitlab'
- end
-
- def project_url
- project_issues_url(project)
- end
-
- def new_issue_url
- new_project_issue_url(project)
- end
-
- def issue_url(iid)
- project_issue_url(project, id: iid)
- end
-
- def issue_tracker_path
- project_issues_path(project)
- end
-
- def new_issue_path
- new_project_issue_path(project)
- end
-
- def issue_path(iid)
- project_issue_path(project, id: iid)
- end
-end
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index 4ea2ec10f11..36d7026de30 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -8,6 +8,12 @@ class JiraService < IssueTrackerService
PROJECTS_PER_PAGE = 50
+ # TODO: use jira_service.deployment_type enum when https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37003 is merged
+ DEPLOYMENT_TYPES = {
+ server: 'SERVER',
+ cloud: 'CLOUD'
+ }.freeze
+
validates :url, public_url: true, presence: true, if: :activated?
validates :api_url, public_url: true, allow_blank: true
validates :username, presence: true, if: :activated?
@@ -375,7 +381,6 @@ class JiraService < IssueTrackerService
def build_entity_url(noteable_type, entity_id)
polymorphic_url(
[
- self.project.namespace.becomes(Namespace),
self.project,
noteable_type.to_sym
],
diff --git a/app/models/project_services/jira_tracker_data.rb b/app/models/project_services/jira_tracker_data.rb
index f24ba8877d2..00b6ab6a70f 100644
--- a/app/models/project_services/jira_tracker_data.rb
+++ b/app/models/project_services/jira_tracker_data.rb
@@ -7,4 +7,6 @@ class JiraTrackerData < ApplicationRecord
attr_encrypted :api_url, encryption_options
attr_encrypted :username, encryption_options
attr_encrypted :password, encryption_options
+
+ enum deployment_type: { unknown: 0, server: 1, cloud: 2 }, _prefix: :deployment
end
diff --git a/app/models/project_services/prometheus_service.rb b/app/models/project_services/prometheus_service.rb
index 997c6eba91a..950cd4f6859 100644
--- a/app/models/project_services/prometheus_service.rb
+++ b/app/models/project_services/prometheus_service.rb
@@ -97,7 +97,13 @@ class PrometheusService < MonitoringService
def prometheus_client
return unless should_return_client?
- options = { allow_local_requests: allow_local_api_url? }
+ options = {
+ allow_local_requests: allow_local_api_url?,
+ # We should choose more conservative timeouts, but some queries we run are now busting our
+ # default timeouts, which are stricter. We should make those queries faster instead.
+ # See https://gitlab.com/gitlab-org/gitlab/-/issues/233109
+ timeout: 60
+ }
if behind_iap?
# Adds the Authorization header