class Ciflows::Graphql

Attributes

client[R]
failed_jobs[RW]
job[RW]
job_name[R]
schema[R]
workflow[RW]
workflow_id[R]

Public Class Methods

new(workflow_id, job_name) click to toggle source
# File lib/ciflows/graphql.rb, line 12
def initialize(workflow_id, job_name)
  @workflow_id = workflow_id
  @job_name = job_name
  @client = Graphlient::Client.new(BASE_URL,
                                   headers: {
                                     'Authorization' => Ciflows::CI_TOKEN,
                                   })
  @schema = @client.schema
end

Public Instance Methods

approve_job() click to toggle source
# File lib/ciflows/graphql.rb, line 22
def approve_job
  client.query(id: job.id) do
    mutation(id: :ID!) do
      approveJob(id: :id)
    end
  end
end
get_jobs(status) click to toggle source
# File lib/ciflows/graphql.rb, line 54
def get_jobs(status)
  @failed_jobs ||= workflow.data.workflow.jobs.select { |job| job.status.eql?(status) }
end
get_workflow() click to toggle source
# File lib/ciflows/graphql.rb, line 30
def get_workflow
  @workflow ||= client.query(id: workflow_id) do
    query(id: :ID!) do
      workflow(id: :id) do
        status
        jobs do
          id
          name
          type
          status
        end
      end
    end
  end
end
rerun_workflow_from(from = 'failed') click to toggle source
# File lib/ciflows/graphql.rb, line 46
def rerun_workflow_from(from = 'failed')
  client.query(id: workflow_id, from: from.upcase) do
    mutation(id: :ID!, from: :RerunWorkflowFromOption) do
      rerunWorkflow(id: :id, from: :from)
    end
  end
end