Class JobRequest

java.lang.Object
com.veeva.vault.vapil.api.request.VaultRequest<JobRequest>
com.veeva.vault.vapil.api.request.JobRequest

public class JobRequest extends VaultRequest<JobRequest>
Job - Retrieve Job Status Requests
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#jobs
  • Method Details

    • retrieveJobHistories

      public JobHistoryResponse retrieveJobHistories()
      Retrieve Job Histories

      Retrieve a history of all completed jobs in the authenticated vault. A completed job is any job which has started and finished running, including jobs which did not complete successfully. In-progress or queued jobs do not appear here.

      Returns:
      JobHistoryResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/{job_id}/tasks
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-histories
      Example Request:
       JobHistoryResponse response = vaultClient.newRequest(JobRequest.class).retrieveJobHistories();
      Example Response:
       System.out.println("Status = " + response.getResponseStatus());
       if (response.isSuccessful()) {
         System.out.println("Url = " + response.getUrl());
       }
    • retrieveJobHistoriesByPage

      public JobHistoryResponse retrieveJobHistoriesByPage(String pageUrl)
      Retrieve Job Histories

      Retrieve a history of all completed jobs using the previous_page or next_page parameter of a previous request

      Parameters:
      pageUrl - The URL from the previous_page or next_page parameter
      Returns:
      JobHistoryResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/{job_id}/tasks
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-histories
      Example Request:
       JobHistoryResponse paginatedResponse = vaultClient.newRequest(JobRequest.class)
                      .retrieveJobHistoriesByPage(response.getResponseDetails().getNextPage());
      Example Response:
      System.out.println(paginatedResponse.getResponseStatus())
      ;
    • retrieveJobMonitors

      public JobMonitorResponse retrieveJobMonitors()
      Retrieve Job Monitors

      Retrieve monitors for jobs which have not yet completed in the authenticated vault. An uncompleted job is any job which has not finished running, such as scheduled, queued, or actively running jobs. Completed jobs do not appear here.

      Returns:
      JobMonitorResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/monitors
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-monitors
      Example Request:
       JobMonitorResponse response = vaultClient.newRequest(JobRequest.class).retrieveJobMonitors();
      Example Response:
       System.out.println("Status = " + response.getResponseStatus());
       
    • retrieveJobMonitorsByPage

      public JobMonitorResponse retrieveJobMonitorsByPage(String pageUrl)
      Retrieve Job Monitors (By Page)

      Retrieve monitors for jobs using the previous_page or next_page parameter of a previous request

      Parameters:
      pageUrl - The URL from the previous_page or next_page parameter
      Returns:
      JobMonitorResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/monitors
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-monitors
      Example Request:
       JobMonitorResponse paginatedResponse = vaultClient.newRequest(JobRequest.class)
                      .retrieveJobMonitorsByPage(response.getResponseDetails().getNextPage());
      Example Response:
      System.out.println(paginatedResponse.getResponseStatus())
      ;
    • retrieveJobStatus

      public JobStatusResponse retrieveJobStatus(int jobId)
      Retrieve Job Status

      After submitting a request, you can query your vault to determine the status of the request. To do this, you must have a valid job_id for a job previously requested through the API.

      The Job Status endpoint can only be requested once every 10 seconds. When this limit is reached, Vault returns API_LIMIT_EXCEEDED.

      Parameters:
      jobId - job id
      Returns:
      JobStatusResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/{job_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-status
      Example Request:
       JobStatusResponse response = vaultClient.newRequest(JobRequest.class).retrieveJobStatus(jobId);
      Example Response:
       if ((response != null)
         && (!response.hasErrors())
         && (response.getData() != null)) {
      
         JobStatusResponse.Job job = response.getData();
         if (job.getRunEndDate() != null) {
           System.out.println("Made it!");
         }
       }
    • retrieveSdkJobTasks

      public JobTaskResponse retrieveSdkJobTasks(int jobId)
      Retrieve Job Tasks

      Retrieve the tasks associated with an SDK job

      Parameters:
      jobId - job id
      Returns:
      JobTaskResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/{job_id}/tasks
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-tasks
      Example Request:
       JobTaskResponse response = vaultClient.newRequest(JobRequest.class)
                      .retrieveSdkJobTasks(jobId);
       
      Example Response:
       System.out.println("Job ID: " + response.getJobId());
       System.out.println("URL: " + response.getUrl());
       for (JobTaskResponse.JobTask task : response.getTasks()) {
                      System.out.println("--------Task--------");
                      System.out.println("Id: " + task.getId());
                      System.out.println("State: " + task.getState());
       }
       
    • retrieveJobTasksByPage

      public JobTaskResponse retrieveJobTasksByPage(String pageUrl)
      Retrieve Job Tasks (By Page)

      Retrieve the tasks associated with an SDK job using the previous_page or next_page parameter of a previous request

      Parameters:
      pageUrl - The URL from the previous_page or next_page parameter
      Returns:
      JobTaskResponse
      Vault API Endpoint:
       GET /api/{version}/services/jobs/{job_id}/tasks
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-job-tasks
      Example Request:
       JobTaskResponse paginatedResponse = vaultClient.newRequest(JobRequest.class)
                      .retrieveJobTasksByPage(response.getResponseDetails().getNextPage());
      Example Response:
      System.out.println(paginatedResponse.getResponseStatus())
      ;
    • retrieveJobArtifactByHref

      public <T> T retrieveJobArtifactByHref(String href, Class<T> responseType)
      Retrieve Job Artifact (by href)

      Retrieve the additional information associated with an SDK job artifacts using the href url.

      Type Parameters:
      T - The returned class type
      Parameters:
      href - The href url
      responseType - The class of the response type expected to be returned
      Returns:
      The response class expected
      Example Request:
       PackageImportResultsResponse artifactResponse = vaultClient.newRequest(JobRequest.class)
                                              .retrieveJobArtifactByHref(href, PackageImportResultsResponse.class);
      Example Response:
      System.out.println(artifactResponse.getResponseStatus())
      ;
    • startJob

      public JobCreateResponse startJob(int jobId)
      Start Job

      Moves up a scheduled job instance to start immediately. Each time a user calls this API, Vault cancels the next scheduled instance of the specified job. For example, calling this API against a scheduled daily job three times would cause the job to not run according to its schedule for three days. Once the affected Job ID is complete, Vault will schedule the next instance. This is analogous to the Start Now option in the Vault UI.

      Parameters:
      jobId - job id
      Returns:
      JobCreateResponse
      Vault API Endpoint:
       POST /api/{version}/services/jobs/start_now/{job_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#start-job
      Example Request:
       JobCreateResponse response = vaultClient.newRequest(JobRequest.class).startJob(jobId);
      Example Response:
       System.out.println("Status = " + response.getResponseStatus());
       if (response.isSuccessful()) {
         System.out.println("JobId = " + response.getJobId());
         System.out.println("Url = " + response.getUrl());
       }
    • setEndDate

      public JobRequest setEndDate(ZonedDateTime endDate)
      Sets the date to end retrieving completed jobs, in the format YYYY-MM-DDTHH:MM:SSZ. For example, for 7AM on January 15, 2016, use 2016-01-15T07:00:00Z. If omitted, defaults to the current date and time.
      Parameters:
      endDate - end date
      Returns:
      JobRequest
    • setLimit

      public JobRequest setLimit(Integer limit)
      Paginate the results by specifying the maximum number of histories per page in the response. This can be any value between 1 and 200. If omitted, defaults to 50.

      Parameters:
      limit - the size of the result set in the page
      Returns:
      JobRequest
    • setOffset

      public JobRequest setOffset(Integer offset)
      Paginate the results displayed per page by specifying the amount of offset from the first job history returned. If omitted, defaults to 0.

      Parameters:
      offset - page offset
      Returns:
      JobRequest
    • setStatus

      public JobRequest setStatus(String status)
      Filter to only retrieve jobs in a certain status.

      Parameters:
      status - job status
      Returns:
      JobRequest
    • setStartDate

      public JobRequest setStartDate(ZonedDateTime startDate)
      Sets the date to start retrieving completed jobs, in the format YYYY-MM-DDTHH:MM:SSZ. For example, for 7AM on January 15, 2016, use 2016-01-15T07:00:00Z. If omitted, defaults to the first completed job.
      Parameters:
      startDate - start date
      Returns:
      The Request