Sha256: 72d8cc2def10958416f3c871df888e398bd0c900f283eea129a13fc7fcbf6be1

Contents?: true

Size: 1.82 KB

Versions: 1

Compression:

Stored size: 1.82 KB

Contents

# frozen_string_literal: true

# Defines methods related to system hooks.
# @see https://docs.gitlab.com/ce/api/system_hooks.html
module SystemHooks
  # Gets a list of system hooks.
  #
  # @example
  #   Gitlab.hooks
  #   Gitlab.system_hooks
  #
  # @param  [Hash] options A customizable set of options.
  # @option options [Integer] :page The page number.
  # @option options [Integer] :per_page The number of results per page.
  # @return [Array<Gitlab::ObjectifiedHash>]
  def hooks(options = {})
    get('/hooks', query: options)
  end
  alias system_hooks hooks

  # Adds a new system hook.
  #
  # @example
  #   Gitlab.add_hook('http://example.com/hook')
  #   Gitlab.add_system_hook('https://api.example.net/v1/hook')
  #
  # @param  [String] url The hook URL.
  # @param  [Hash] options Additional options, as allowed by Gitlab API, including but not limited to:
  # @option options [String] :token A secret token for Gitlab to send in the `X-Gitlab-Token` header for authentication.
  # @option options [boolean] :enable_ssl_verification `false` will cause Gitlab to ignore invalid/unsigned certificate errors (default is `true`)
  # @return [Gitlab::ObjectifiedHash]
  def add_hook(url, options = {})
    post('/hooks', body: options.merge(url: url))
  end
  alias add_system_hook add_hook

  # Tests a system hook.
  #
  # @example
  #   Gitlab.hook(3)
  #   Gitlab.system_hook(12)
  #
  # @param  [Integer] id The ID of a system hook.
  # @return [Array<Gitlab::ObjectifiedHash>]
  def hook(id)
    get("/hooks/#{id}")
  end
  alias system_hook hook

  # Deletes a new system hook.
  #
  # @example
  #   Gitlab.delete_hook(3)
  #   Gitlab.delete_system_hook(12)
  #
  # @param  [Integer] id The ID of a system hook.
  # @return [Gitlab::ObjectifiedHash]
  def delete_hook(id)
    delete("/hooks/#{id}")
  end
  alias delete_system_hook delete_hook
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gitlab-4.6.0 lib/gitlab/client/system_hooks.rb