class BitBucket::Repos::Webhooks
Constants
- EVENTS
Public Instance Methods
create(user_name_or_project_key, repo_name, params = {})
click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 24 def create(user_name_or_project_key, repo_name, params = {}) _update_user_repo_params(user_name_or_project_key, 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" } } url = if BitBucket.options[:bitbucket_server] "/1.0/projects/#{user_name_or_project_key}/repos/#{repo_name}/webhooks" else "/2.0/repositories/#{user_name_or_project_key}/#{repo_name}/hooks" end post_request(url, params, options) end
delete(user_name_or_project_key, repo_name, hook_uuid)
click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 91 def delete(user_name_or_project_key, repo_name, hook_uuid) _update_user_repo_params(user_name_or_project_key, repo_name) _validate_user_repo_params(user, repo) unless user? && repo? url = if BitBucket.options[:bitbucket_server] "/1.0/projects/#{user_name_or_project_key}/repos/#{repo_name}/webhooks/#{hook_uuid}" else "/2.0/repositories/#{user_name_or_project_key}/#{repo_name}/hooks/#{hook_uuid}" end delete_request(url) end
edit(user_name, repo_name, hook_uuid, params = {})
click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 69 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_or_project_key, repo_name, hook_uuid)
click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 60 def get(user_name_or_project_key, repo_name, hook_uuid) _update_user_repo_params(user_name_or_project_key, repo_name) _validate_user_repo_params(user, repo) unless user? && repo? get_request( "/2.0/repositories/#{user_name_or_project_key}/#{repo_name}/hooks/#{hook_uuid}" ) end
list(user_name_or_project_key, repo_name)
click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 47 def list(user_name_or_project_key, repo_name) _update_user_repo_params(user_name_or_project_key, repo_name) _validate_user_repo_params(user, repo) unless user? && repo? url = if BitBucket.options[:bitbucket_server] "/1.0/projects/#{user_name_or_project_key}/repos/#{repo_name}/webhooks" else "/2.0/repositories/#{user_name_or_project_key}/#{repo_name}/hooks?pagelen=100" end get_request(url) end
Private Instance Methods
_validate_given_events(params)
click to toggle source
# File lib/bitbucket_rest_api/repos/webhooks.rb, line 105 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