job_discovery_batch_create_jobs project_id:, company_name:

in jobs/V3/batch_operation_sample.rb [14:70]


def job_discovery_batch_create_jobs project_id:, company_name:
  
  
  

  require "google/apis/jobs_v3"

  jobs = Google::Apis::JobsV3
  talent_solution_client = jobs::CloudTalentSolutionService.new
  
  talent_solution_client.authorization = Google::Auth.get_application_default(
    "https://www.googleapis.com/auth/jobs"
  )

  jobs_created = []
  job_generated1 = jobs::Job.new requisition_id:   "Job: #{company_name} 1",
                                 title:            " Lab Technician",
                                 company_name:     company_name,
                                 employment_types: ["FULL_TIME"],
                                 language_code:    "en-US",
                                 application_info:
                                                   (jobs::ApplicationInfo.new uris: ["http://careers.google.com"]),
                                 description:      "Design and improve software."
  job_generated2 = jobs::Job.new requisition_id:   "Job: #{company_name} 2",
                                 title:            "Systems Administrator",
                                 company_name:     company_name,
                                 employment_types: ["FULL_TIME"],
                                 language_code:    "en-US",
                                 application_info:
                                                   (jobs::ApplicationInfo.new uris: ["http://careers.google.com"]),
                                 description:      "System Administrator for software."

  create_job_request1 = jobs::CreateJobRequest.new job: job_generated1
  create_job_request2 = jobs::CreateJobRequest.new job: job_generated2

  talent_solution_client.batch do |client|
    client.create_job project_id, create_job_request1 do |job, err|
      if err.nil?
        jobs_created.push job
      else
        puts "Batch job create error message: #{err.message}"
      end
    end
    client.create_job project_id, create_job_request2 do |job, err|
      if err.nil?
        jobs_created.push job
      else
        puts "Batch job create error message: #{err.message}"
      end
    end
  end
  
  puts "Batch job created: #{jobs_created.to_json}"
  jobs_created
  
end