class RoboPigeon::GitLab::Client

Attributes

branch[RW]
enabled[RW]
pipeline_id[RW]
project[RW]

Public Class Methods

client() click to toggle source
# File lib/robopigeon/gitlab/client.rb, line 10
def client
  Gitlab.client
end
create_tag(ref, tag, message) click to toggle source
# File lib/robopigeon/gitlab/client.rb, line 28
def create_tag(ref, tag, message)
  client.create_tag(project, tag, ref, message)
end
get_deployment(environment, page = 0) click to toggle source
# File lib/robopigeon/gitlab/client.rb, line 14
def get_deployment(environment, page = 0)
  deployments = client.deployments(
    project,
    order_by: 'created_at',
    sort: 'desc',
    per_page: 20,
    page: page
  )
  deployment = deployments.select { |dep| dep.environment.name == environment }.first
  return get_deployment(environment, page + 1) if deployment.nil? && deployments.has_next_page?

  deployment
end
merge_request_comment(text, source = branch) click to toggle source
# File lib/robopigeon/gitlab/client.rb, line 32
def merge_request_comment(text, source = branch)
  merge_requests = client.merge_requests(project, source_branch: source)
  raise "No merge requests exist for branch '#{source}'" if merge_requests.empty?

  merge_requests.each do |merge_request|
    client.create_merge_request_discussion(project, merge_request.iid, body: text)
  end
end