Batch update jobs (v4beta1)

Batch update jobs.

Documentation pages that include this code sample

To view the code sample used in context, see the following documentation:

Code sample

Java

/*
 * Please include the following imports to run this sample.
 *
 * import com.google.api.gax.longrunning.OperationFuture;
 * import com.google.cloud.talent.v4beta1.BatchOperationMetadata;
 * import com.google.cloud.talent.v4beta1.BatchUpdateJobsRequest;
 * import com.google.cloud.talent.v4beta1.Job;
 * import com.google.cloud.talent.v4beta1.Job.ApplicationInfo;
 * import com.google.cloud.talent.v4beta1.JobOperationResult;
 * import com.google.cloud.talent.v4beta1.JobServiceClient;
 * import com.google.cloud.talent.v4beta1.TenantName;
 * import java.util.Arrays;
 * import java.util.List;
 */

public static void sampleBatchUpdateJobs() {
  // TODO(developer): Replace these variables before running the sample.
  String projectId = "Your Google Cloud Project ID";
  String tenantId = "Your Tenant ID (using tenancy is optional)";
  String jobNameOne = "job name, e.g. projects/your-project/tenants/tenant-id/jobs/job-id";
  String companyNameOne = "Company name, e.g. projects/your-project/companies/company-id";
  String requisitionIdOne = "Job requisition ID, aka Posting ID. Unique per job.";
  String titleOne = "Software Engineer";
  String descriptionOne = "This is a description of this <i>wonderful</i> job!";
  String jobApplicationUrlOne = "https://www.example.org/job-posting/123";
  String addressOne = "1600 Amphitheatre Parkway, Mountain View, CA 94043";
  String languageCodeOne = "en-US";
  String jobNameTwo = "job name, e.g. projects/your-project/tenants/tenant-id/jobs/job-id";
  String companyNameTwo = "Company name, e.g. projects/your-project/companies/company-id";
  String requisitionIdTwo = "Job requisition ID, aka Posting ID. Unique per job.";
  String titleTwo = "Quality Assurance";
  String descriptionTwo = "This is a description of this <i>wonderful</i> job!";
  String jobApplicationUrlTwo = "https://www.example.org/job-posting/123";
  String addressTwo = "111 8th Avenue, New York, NY 10011";
  String languageCodeTwo = "en-US";
  sampleBatchUpdateJobs(
      projectId,
      tenantId,
      jobNameOne,
      companyNameOne,
      requisitionIdOne,
      titleOne,
      descriptionOne,
      jobApplicationUrlOne,
      addressOne,
      languageCodeOne,
      jobNameTwo,
      companyNameTwo,
      requisitionIdTwo,
      titleTwo,
      descriptionTwo,
      jobApplicationUrlTwo,
      addressTwo,
      languageCodeTwo);
}

/**
 * Batch Update Jobs
 *
 * @param projectId Your Google Cloud Project ID
 * @param tenantId Identifier of the Tenant
 */
public static void sampleBatchUpdateJobs(
    String projectId,
    String tenantId,
    String jobNameOne,
    String companyNameOne,
    String requisitionIdOne,
    String titleOne,
    String descriptionOne,
    String jobApplicationUrlOne,
    String addressOne,
    String languageCodeOne,
    String jobNameTwo,
    String companyNameTwo,
    String requisitionIdTwo,
    String titleTwo,
    String descriptionTwo,
    String jobApplicationUrlTwo,
    String addressTwo,
    String languageCodeTwo) {
  try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
    String formattedParent = TenantName.format(projectId, tenantId);
    List<String> uris = Arrays.asList(jobApplicationUrlOne);
    Job.ApplicationInfo applicationInfo =
        Job.ApplicationInfo.newBuilder().addAllUris(uris).build();
    List<String> addresses = Arrays.asList(addressOne);
    Job jobsElement =
        Job.newBuilder()
            .setName(jobNameOne)
            .setCompany(companyNameOne)
            .setRequisitionId(requisitionIdOne)
            .setTitle(titleOne)
            .setDescription(descriptionOne)
            .setApplicationInfo(applicationInfo)
            .addAllAddresses(addresses)
            .setLanguageCode(languageCodeOne)
            .build();
    List<String> uris2 = Arrays.asList(jobApplicationUrlTwo);
    Job.ApplicationInfo applicationInfo2 =
        Job.ApplicationInfo.newBuilder().addAllUris(uris2).build();
    List<String> addresses2 = Arrays.asList(addressTwo);
    Job jobsElement2 =
        Job.newBuilder()
            .setName(jobNameTwo)
            .setCompany(companyNameTwo)
            .setRequisitionId(requisitionIdTwo)
            .setTitle(titleTwo)
            .setDescription(descriptionTwo)
            .setApplicationInfo(applicationInfo2)
            .addAllAddresses(addresses2)
            .setLanguageCode(languageCodeTwo)
            .build();
    List<Job> jobs = Arrays.asList(jobsElement, jobsElement2);
    BatchUpdateJobsRequest request =
        BatchUpdateJobsRequest.newBuilder().setParent(formattedParent).addAllJobs(jobs).build();
    OperationFuture<JobOperationResult, BatchOperationMetadata> future =
        jobServiceClient.batchUpdateJobsAsync(request);

    System.out.println("Waiting for operation to complete...");
    JobOperationResult response = future.get();
    System.out.printf("Batch response: %s\n", response);
  } catch (Exception exception) {
    System.err.println("Failed to create the client due to: " + exception);
  }
}

Python


from google.cloud import talent
import six


def batch_update_jobs(
    project_id,
    tenant_id,
    job_name_one,
    company_name_one,
    requisition_id_one,
    title_one,
    description_one,
    job_application_url_one,
    address_one,
    language_code_one,
    job_name_two,
    company_name_two,
    requisition_id_two,
    title_two,
    description_two,
    job_application_url_two,
    address_two,
    language_code_two,
):
    """
    Batch Update Jobs

    Args:
      project_id Your Google Cloud Project ID
      tenant_id Identifier of the Tenant
    """

    client = talent.JobServiceClient()

    # project_id = 'Your Google Cloud Project ID'
    # tenant_id = 'Your Tenant ID (using tenancy is optional)'
    # job_name_one = 'job name, projects/your-project/tenants/tenant-id/jobs/job-id'
    # company_name_one = 'Company name, e.g. projects/your-project/companies/company-id'
    # requisition_id_one = 'Job requisition ID, aka Posting ID. Unique per job.'
    # title_one = 'Software Engineer'
    # description_one = 'This is a description of this <i>wonderful</i> job!'
    # job_application_url_one = 'https://www.example.org/job-posting/123'
    # address_one = '1600 Amphitheatre Parkway, Mountain View, CA 94043'
    # language_code_one = 'en-US'
    # job_name_two = 'job name, projects/your-project/tenants/tenant-id/jobs/job-id'
    # company_name_two = 'Company name, e.g. projects/your-project/companies/company-id'
    # requisition_id_two = 'Job requisition ID, aka Posting ID. Unique per job.'
    # title_two = 'Quality Assurance'
    # description_two = 'This is a description of this <i>wonderful</i> job!'
    # job_application_url_two = 'https://www.example.org/job-posting/123'
    # address_two = '111 8th Avenue, New York, NY 10011'
    # language_code_two = 'en-US'

    if isinstance(project_id, six.binary_type):
        project_id = project_id.decode("utf-8")
    if isinstance(tenant_id, six.binary_type):
        tenant_id = tenant_id.decode("utf-8")
    if isinstance(job_name_one, six.binary_type):
        job_name_one = job_name_one.decode("utf-8")
    if isinstance(company_name_one, six.binary_type):
        company_name_one = company_name_one.decode("utf-8")
    if isinstance(requisition_id_one, six.binary_type):
        requisition_id_one = requisition_id_one.decode("utf-8")
    if isinstance(title_one, six.binary_type):
        title_one = title_one.decode("utf-8")
    if isinstance(description_one, six.binary_type):
        description_one = description_one.decode("utf-8")
    if isinstance(job_application_url_one, six.binary_type):
        job_application_url_one = job_application_url_one.decode("utf-8")
    if isinstance(address_one, six.binary_type):
        address_one = address_one.decode("utf-8")
    if isinstance(language_code_one, six.binary_type):
        language_code_one = language_code_one.decode("utf-8")
    if isinstance(job_name_two, six.binary_type):
        job_name_two = job_name_two.decode("utf-8")
    if isinstance(company_name_two, six.binary_type):
        company_name_two = company_name_two.decode("utf-8")
    if isinstance(requisition_id_two, six.binary_type):
        requisition_id_two = requisition_id_two.decode("utf-8")
    if isinstance(title_two, six.binary_type):
        title_two = title_two.decode("utf-8")
    if isinstance(description_two, six.binary_type):
        description_two = description_two.decode("utf-8")
    if isinstance(job_application_url_two, six.binary_type):
        job_application_url_two = job_application_url_two.decode("utf-8")
    if isinstance(address_two, six.binary_type):
        address_two = address_two.decode("utf-8")
    if isinstance(language_code_two, six.binary_type):
        language_code_two = language_code_two.decode("utf-8")
    parent = f"projects/{project_id}/tenants/{tenant_id}"
    uris = [job_application_url_one]
    application_info = {"uris": uris}
    addresses = [address_one]
    jobs_element = talent.Job(
        name=job_name_one,
        company=company_name_one,
        requisition_id=requisition_id_one,
        title=title_one,
        description=description_one,
        application_info=application_info,
        addresses=addresses,
        language_code=language_code_one
    )

    uris_2 = [job_application_url_two]
    application_info_2 = {"uris": uris_2}
    addresses_2 = [address_two]
    jobs_element_2 = talent.Job(
        name=job_name_two,
        company=company_name_two,
        requisition_id=requisition_id_two,
        title=title_two,
        description=description_two,
        application_info=application_info_2,
        addresses=addresses_2,
        language_code=language_code_two
    )

    jobs = [jobs_element, jobs_element_2]

    operation = client.batch_update_jobs(parent=parent, jobs=jobs)

    print("Waiting for operation to complete...")
    response = operation.result(90)

    print("Batch response: {}".format(response))

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.