docs: def get_job_statuses(github_token, api_url, build_id,
                       polling_interval, job_number):
      """Wait for all the travis jobs to complete.
  
      Once the other jobs are complete, return a list of booleans,
      indicating whether or not the job was successful. Ignore jobs
      marked "allow_failure".
      """
      auth = get_json('{api_url}/auth/github'.format(api_url=api_url),
                      data={'github_token': github_token})['access_token']
  
      while True:
          build = get_json('{api_url}/builds/{build_id}'.format(
              api_url=api_url, build_id=build_id), auth=auth)
          jobs = [job for job in build['jobs']
                  if job['number'] != job_number and
                  not job['allow_failure']]  # Ignore allowed failures
          if all(job['finished_at'] for job in jobs):
              break  # All the jobs have completed
          elif any(job['state'] != 'passed'
                   for job in jobs if job['finished_at']):
              break  # Some required job that finished did not pass
  
          print('Waiting for jobs to complete: {job_numbers}'.format(
              job_numbers=[job['number'] for job in jobs
                           if not job['finished_at']]))
          time.sleep(polling_interval)
  
      return [job['state'] == 'passed' for job in jobs]