class BitBucket::Repos::Webhooks

Constants

EVENTS

Public Instance Methods

create(user_name, repo_name, params = {}) click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 23
def create(user_name, repo_name, params = {})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  normalize! params
  assert_required_keys(%w[description url active events], params)
  _validate_given_events(params)
  assert_required_values_present(
    params,
    'description',
    'url',
    'active',
    'events'
  )


  options = { headers: { "Content-Type" => "application/json" } }
  post_request("/2.0/repositories/#{user_name}/#{repo_name}/hooks", params, options)
end
delete(user_name, repo_name, hook_uuid) click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 79
def delete(user_name, repo_name, hook_uuid)
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?

  delete_request(
    "/2.0/repositories/#{user_name}/#{repo_name}/hooks/#{hook_uuid}"
  )
end
edit(user_name, repo_name, hook_uuid, params = {}) click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 58
def edit(user_name, repo_name, hook_uuid, params = {})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  normalize! params
  assert_required_keys(%w[description url active events], params)
  _validate_given_events(params)
  assert_required_values_present(
    params,
    'description',
    'url',
    'active',
    'events'
  )


  options = { headers: { "Content-Type" => "application/json" } }
  put_request(
    "/2.0/repositories/#{user_name}/#{repo_name}/hooks/#{hook_uuid}",
    params, options)
end
get(user_name, repo_name, hook_uuid) click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 49
def get(user_name, repo_name, hook_uuid)
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?

  get_request(
    "/2.0/repositories/#{user_name}/#{repo_name}/hooks/#{hook_uuid}"
  )
end
list(user_name, repo_name) click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 42
def list(user_name, repo_name)
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?

  get_request("/2.0/repositories/#{user_name}/#{repo_name}/hooks")
end

Private Instance Methods

_validate_given_events(params) click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 89
def _validate_given_events(params)
  given_events = params['events']
  raise BitBucket::Error::NoEvents if given_events.empty?
  given_events.each do |k|
    unless EVENTS.include?(k)
      raise BitBucket::Error::BadEvents, k
    end
  end
end