Batch create jobs (v3)

Create multiple jobs.

Code sample

Ruby

# project_id     = "Id of the project"
# company_name   = "The resource name of the company listing the job. The format is "projects/{project_id}/companies/{company_id}""

require "google/apis/jobs_v3"

jobs = Google::Apis::JobsV3
talent_solution_client = jobs::CloudTalentSolutionService.new
# @see https://developers.google.com/identity/protocols/application-default-credentials#callingruby
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
# jobCreated = batchCreate.create_job(project_id, create_job_request1)
puts "Batch job created: #{jobs_created.to_json}"
jobs_created