class LabClient::Pipeline

Inspect Helper

Public Instance Methods

cancel() click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 21
def cancel
  project_id = collect_project_id
  update_self client.pipelines.cancel(project_id, id)
end
delete() click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 26
def delete
  project_id = collect_project_id
  client.pipelines.delete(project_id, id)
end
inspect() click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 7
def inspect
  "#<Pipeline id: #{id}, ref: #{ref}, status: #{status}>"
end
jobs(scope = nil) click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 31
def jobs(scope = nil)
  project_id = collect_project_id
  client.jobs.pipeline(project_id, id, scope)
end
reload() click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 36
def reload
  project_id = collect_project_id
  update_self client.pipelines.show(project_id, id)
end
retry() click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 16
def retry
  project_id = collect_project_id
  client.pipelines.retry(project_id, id)
end
variables() click to toggle source
# File lib/labclient/pipelines/pipeline.rb, line 11
def variables
  project_id = collect_project_id
  client.pipelines.variables(project_id, id)
end
wait_for_status(total_time = 300, sleep_time = 15) click to toggle source

Wait for Import / Set a Hard Limit

# File lib/labclient/pipelines/pipeline.rb, line 44
def wait_for_status(total_time = 300, sleep_time = 15)
  # running
  # pending
  # success
  # failed
  # canceled
  # skipped
  # manual
  # created

  # Wait
  # [running created pending]

  # Success
  # [skipped manual canceled success]

  # Fail
  # [failed]

  Timeout.timeout(total_time) do
    loop do
      reload
      logger.info('Waiting for Pipeline', status: status) unless quiet?
      break if %w[skipped manual canceled success].include? status
      raise 'Pipeline failed' if status == 'failed'

      sleep sleep_time
    end
  end
end