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