Class: LabClient::MergeRequestApprovals

Inherits:
Common
  • Object
show all
Defined in:
lib/labclient/approvals/merge_request/show.rb,
lib/labclient/approvals/merge_request/rules.rb,
lib/labclient/approvals/merge_request/update.rb,
lib/labclient/approvals/merge_request/approve.rb,
lib/labclient/approvals/merge_request/unapprove.rb,
lib/labclient/approvals/merge_request/create_rule.rb,
lib/labclient/approvals/merge_request/delete_rule.rb,
lib/labclient/approvals/merge_request/update_rule.rb

Overview

Specifics

Constant Summary

Constants included from AccessLevel

AccessLevel::HUMAN_ACCESS_LEVELS, AccessLevel::MACHINE_ACCESS_LEVELS

Instance Attribute Summary

Attributes inherited from Common

#client

Instance Method Summary collapse

Methods inherited from Common

#api_methods, #api_methods_help, #format_id, #format_query_id, #format_query_ids, #format_time?, #group_name, #help, #initialize, #inspect, #klass, #protected_query_access_level, #query_access_level, #query_format_time

Methods included from Docs

#demo, #desc, #doc, docs, #example, #group_name, #help, json, #markdown, #navigation, #option, #result, #subtitle, #title

Methods included from AccessLevel

#human_access_level, #human_protected_access_level, #machine_access_level, #machine_protected_access_level

Constructor Details

This class inherits a constructor from LabClient::Common

Instance Method Details

#approve(project_id, merge_request_iid, query = {}) ⇒ Object



30
31
32
33
# File 'lib/labclient/approvals/merge_request/approve.rb', line 30

def approve(project_id, merge_request_iid, query = {})
  project_id = format_id(project_id)
  client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approve", MergeApproval, query)
end

#create_rule(project_id, merge_request_iid, query = {}) ⇒ Object



33
34
35
36
# File 'lib/labclient/approvals/merge_request/create_rule.rb', line 33

def create_rule(project_id, merge_request_iid, query = {})
  project_id = format_id(project_id)
  client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules", ApprovalRule, query)
end

#delete_rule(project_id, merge_request_iid, approval_rule_id) ⇒ Object



20
21
22
23
24
25
# File 'lib/labclient/approvals/merge_request/delete_rule.rb', line 20

def delete_rule(project_id, merge_request_iid, approval_rule_id)
  project_id = format_id(project_id)
  merge_request_iid = format_id(merge_request_iid)
  approval_rule_id = format_id(approval_rule_id)
  client.request(:delete, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules/#{approval_rule_id}")
end

#rules(project_id, merge_request_iid) ⇒ Object



21
22
23
24
25
# File 'lib/labclient/approvals/merge_request/rules.rb', line 21

def rules(project_id, merge_request_iid)
  project_id = format_id(project_id)
  merge_request_iid = format_id(merge_request_iid)
  client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules", ApprovalRule)
end

#show(project_id, merge_request_iid) ⇒ Object



21
22
23
24
25
# File 'lib/labclient/approvals/merge_request/show.rb', line 21

def show(project_id, merge_request_iid)
  project_id = format_id(project_id)
  merge_request_iid = format_id(merge_request_iid)
  client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approvals", MergeApproval)
end

#unapprove(project_id, merge_request_iid) ⇒ Object



30
31
32
33
# File 'lib/labclient/approvals/merge_request/unapprove.rb', line 30

def unapprove(project_id, merge_request_iid)
  project_id = format_id(project_id)
  client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/unapprove", MergeApproval)
end

#update(project_id, merge_request_iid, approvals_required) ⇒ Object



21
22
23
24
25
26
# File 'lib/labclient/approvals/merge_request/update.rb', line 21

def update(project_id, merge_request_iid, approvals_required)
  project_id = format_id(project_id)
  merge_request_iid = format_id(merge_request_iid)
  query = { approvals_required: approvals_required }
  client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approvals", MergeApproval, query)
end

#update_rule(project_id, merge_request_iid, approval_rule_id, query = {}) ⇒ Object



33
34
35
36
37
38
# File 'lib/labclient/approvals/merge_request/update_rule.rb', line 33

def update_rule(project_id, merge_request_iid, approval_rule_id, query = {})
  project_id = format_id(project_id)
  merge_request_iid = format_id(merge_request_iid)
  approval_rule_id = format_id(approval_rule_id)
  client.request(:put, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules/#{approval_rule_id}", ApprovalRule, query)
end