class LabClient::MergeRequest

Inspect Helper

Public Instance Methods

accept(query = {}) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 53
def accept(query = {})
  client.merge_requests.accept(project_id, iid, query)
end
add_spent_time(duration) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 69
def add_spent_time(duration)
  client.merge_requests.add_spent_time(project_id, iid, duration)
end
approvals() click to toggle source

Approvals

# File lib/labclient/merge_requests/merge_request.rb, line 131
def approvals
  client.approvals.merge_request.show(project_id, iid)
end
approvals_rule_create(query = {}) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 143
def approvals_rule_create(query = {})
  client.approvals.merge_request.create_rule(project_id, iid, query)
end
approvals_rule_delete(approval_rule_id) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 151
def approvals_rule_delete(approval_rule_id)
  client.approvals.merge_request.delete_rule(project_id, iid, approval_rule_id)
end
approvals_rule_update(approval_rule_id, query = {}) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 147
def approvals_rule_update(approval_rule_id, query = {})
  client.approvals.merge_request.update_rule(project_id, iid, approval_rule_id, query)
end
approvals_rules() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 139
def approvals_rules
  client.approvals.merge_request.rules(project_id, iid)
end
approvals_update(approvals_required) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 135
def approvals_update(approvals_required)
  client.approvals.merge_request.update(project_id, iid, approvals_required)
end
approve(query = {}) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 155
def approve(query = {})
  client.approvals.merge_request.approve(project_id, iid, query)
end
assignees() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 21
def assignees
  @table[:assignees].map { |x| User.new(x, response, client) } if has? :assignees
end
cancel_auto_merge() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 61
def cancel_auto_merge
  client.merge_requests.cancel_auto_merge(project_id, iid)
end
changes() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 29
def changes
  client.merge_requests.changes(project_id, iid)
end
closes_issues() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 85
def closes_issues
  client.merge_requests.closes_issues(project_id, iid)
end
commits() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 33
def commits
  client.merge_requests.commits(project_id, iid)
end
create_pipeline() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 41
def create_pipeline
  client.merge_requests.create_pipeline(project_id, iid)
end
delete() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 49
def delete
  client.merge_requests.delete(project_id, iid)
end
diff_versions() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 113
def diff_versions
  client.merge_requests.diff_versions(project_id, iid)
end
inspect() click to toggle source

extend Docs

# File lib/labclient/merge_requests/merge_request.rb, line 8
def inspect
  "#<MergeRequest id: #{id}, title: #{title}, state: #{state}>"
end
merge_ref() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 57
def merge_ref
  client.merge_requests.merge_ref(project_id, iid)
end
note_create(query) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 101
def note_create(query)
  client.notes.merge_requests.create(project_id, iid, query)
end
notes() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 97
def notes
  client.notes.merge_requests.list(project_id, iid)
end
participants() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 25
def participants
  client.merge_requests.participants(project_id, iid)
end
pipelines() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 37
def pipelines
  client.merge_requests.pipelines(project_id, iid)
end
project() click to toggle source

Default to Source Project

# File lib/labclient/merge_requests/merge_request.rb, line 118
def project
  client.projects.show(source_project_id)
end
rebase(skip_ci = false) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 65
def rebase(skip_ci = false)
  client.merge_requests.rebase(project_id, iid, skip_ci)
end
reload() click to toggle source

Reload

# File lib/labclient/merge_requests/merge_request.rb, line 173
def reload
  update_self client.merge_requests.show(project_id, iid)
end
reset_spent_time() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 81
def reset_spent_time
  client.merge_requests.reset_spent_time(project_id, iid)
end
reset_time_estimate() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 77
def reset_time_estimate
  client.merge_requests.reset_time_estimate(project_id, iid)
end
resource_label(resource_event_id) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 168
def resource_label(resource_event_id)
  client.resource_labels.merge_requests.show(project_id, iid, resource_event_id)
end
resource_labels() click to toggle source

Resource Labels

# File lib/labclient/merge_requests/merge_request.rb, line 164
def resource_labels
  client.resource_labels.merge_requests.list(project_id, iid)
end
source_project() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 122
def source_project
  client.projects.show(source_project_id)
end
subscribe() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 89
def subscribe
  client.merge_requests.subscribe(project_id, iid)
end
target_project() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 126
def target_project
  client.projects.show(target_project_id)
end
time_estimate(duration) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 73
def time_estimate(duration)
  client.merge_requests.time_estimate(project_id, iid, duration)
end
time_stats() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 109
def time_stats
  client.merge_requests.time_stats(project_id, iid)
end
todo() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 105
def todo
  client.merge_requests.todo(project_id, iid)
end
unapprove() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 159
def unapprove
  client.approvals.merge_request.unapprove(project_id, iid)
end
unsubscribe() click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 93
def unsubscribe
  client.merge_requests.unsubscribe(project_id, iid)
end
update(query) click to toggle source
# File lib/labclient/merge_requests/merge_request.rb, line 45
def update(query)
  update_self client.merge_requests.update(project_id, iid, query)
end
wait_for_merge_status(total_time = 300, sleep_time = 15) click to toggle source

Wait for Import / Set a Hard Limit

# File lib/labclient/merge_requests/merge_request.rb, line 178
def wait_for_merge_status(total_time = 300, sleep_time = 15)
  # :unchecked
  # :cannot_be_merged_recheck
  # :checking
  # :cannot_be_merged_rechecking
  # :can_be_merged
  # :cannot_be_merged

  # Success
  # [unchecked, can_be_merged]

  # Fail
  # [cannot_be_merged cannot_be_merged_recheck]

  Timeout.timeout(total_time) do
    loop do
      reload
      logger.info "Waiting for Merge Status: #{merge_status}" unless quiet?
      break if %w[can_be_merged unchecked].include? merge_status
      raise "Cannot be merged! #{import_error}" if %w[cannot_be_merged cannot_be_merged_recheck].include? merge_status

      sleep sleep_time
    end
  end
end