module Gitlab::Client::Services

Third party services connected to a project. @see docs.gitlab.com/ce/api/services.html

Public Instance Methods

change_service(project, service, params) click to toggle source

Create/Edit service Full service params documentation: github.com/gitlabhq/gitlabhq/blob/master/doc/api/services.md

@example

Gitlab.change_service(42, :redmine, { new_issue_url: 'https://example.com/projects/test_project/issues/new',
                                      project_url: 'https://example.com/projects/test_project/issues',
                                      issues_url: 'https://example.com/issues/:id' })

@param [Integer, String] project The ID or name of a project. @param [String] service A service code name. @param [Hash] params A service parameters. @return [Boolean]

# File lib/gitlab/client/services.rb, line 19
def change_service(project, service, params)
  put("/projects/#{url_encode project}/services/#{correct_service_name(service)}", body: params)
end
delete_service(project, service) click to toggle source

Delete service

@example

Gitlab.delete_service(42, :redmine)

@param [Integer, String] project The ID or name of a project. @param [String] service A service code name. @return [Boolean]

# File lib/gitlab/client/services.rb, line 31
def delete_service(project, service)
  delete("/projects/#{url_encode project}/services/#{correct_service_name(service)}")
end
service(project, service) click to toggle source

Get service

@example

Gitlab.service(42, :redmine)

@param [Integer, String] project The ID or name of a project. @param [String] service A service code name. @return [Gitlab::ObjectifiedHash]

# File lib/gitlab/client/services.rb, line 43
def service(project, service)
  get("/projects/#{url_encode project}/services/#{correct_service_name(service)}")
end

Private Instance Methods

correct_service_name(service) click to toggle source
# File lib/gitlab/client/services.rb, line 49
def correct_service_name(service)
  service.to_s.tr('_', '-')
end