docs: def jobs_insert_load(self, source, table_name, append=False, overwrite=False, create=False,
                         source_format='CSV', field_delimiter=',', allow_jagged_rows=False,
                         allow_quoted_newlines=False, encoding='UTF-8', ignore_unknown_values=False,
                         max_bad_records=0, quote='"', skip_leading_rows=0):
      """ Issues a request to load data from GCS to a BQ table
  
      Args:
        source: the URL of the source bucket(s). Can include wildcards, and can be a single
            string argument or a list.
        table_name: a tuple representing the full name of the destination table.
        append: if True append onto existing table contents.
        overwrite: if True overwrite existing table contents.
        create: if True, create the table if it doesn't exist
        source_format: the format of the data; default 'CSV'. Other options are DATASTORE_BACKUP
            or NEWLINE_DELIMITED_JSON.
        field_delimiter: The separator for fields in a CSV file. BigQuery converts the string to
            ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data
            as raw binary (default ',').
        allow_jagged_rows: If True, accept rows in CSV files that are missing trailing optional
            columns; the missing values are treated as nulls (default False).
        allow_quoted_newlines: If True, allow quoted data sections in CSV files that contain newline
            characters (default False).
        encoding: The character encoding of the data, either 'UTF-8' (the default) or 'ISO-8859-1'.
        ignore_unknown_values: If True, accept rows that contain values that do not match the schema;
            the unknown values are ignored (default False).
        max_bad_records: The maximum number of bad records that are allowed (and ignored) before
            returning an 'invalid' error in the Job result (default 0).
        quote: The value used to quote data sections in a CSV file; default '"'. If your data does
            not contain quoted sections, set the property value to an empty string. If your data
            contains quoted newline characters, you must also enable allow_quoted_newlines.
        skip_leading_rows: A number of rows at the top of a CSV file to skip (default 0).
      Returns:
        A parsed result object.
      Raises:
        Exception if there is an error performing the operation.
      """
      url = Api._ENDPOINT + (Api._JOBS_PATH % (table_name.project_id, ''))
      if isinstance(source, basestring):
        source = [source]
      write_disposition = 'WRITE_EMPTY'
      if overwrite:
        write_disposition = 'WRITE_TRUNCATE'
      if append:
        write_disposition = 'WRITE_APPEND'
      data = {
          'kind': 'bigquery#job',
          'configuration': {
              'load': {
                  'sourceUris': source,
                  'destinationTable': {
                      'projectId': table_name.project_id,
                      'datasetId': table_name.dataset_id,
                      'tableId': table_name.table_id
                  },
                  'createDisposition': 'CREATE_IF_NEEDED' if create else 'CREATE_NEVER',
                  'writeDisposition': write_disposition,
                  'sourceFormat': source_format,
                  'ignoreUnknownValues': ignore_unknown_values,
                  'maxBadRecords': max_bad_records,
              }
          }
      }
      if source_format == 'CSV':
        load_config = data['configuration']['load']
        load_config.update({
            'fieldDelimiter': field_delimiter,
            'allowJaggedRows': allow_jagged_rows,
            'allowQuotedNewlines': allow_quoted_newlines,
            'quote': quote,
            'encoding': encoding,
            'skipLeadingRows': skip_leading_rows
        })
  
      return datalab.utils.Http.request(url, data=data, credentials=self._credentials)