Skip to content

ProjectItemsStream is returning an integer for id field instead of a string #514

@linbug

Description

@linbug

Since upgrading to v1.26.0, our project_items extractor is failing with this error:

  jsonschema.exceptions.ValidationError: 455704776 is not of type 'string', 'null'

  Failed validating 'type' in schema['properties']['title']['properties']['id']:
      {'type': ['string', 'null']}

  On instance['title']['id']:
      455704776

Taking a look at the changes to tap-github that were shipped in v1.26.0, some of them are type check changes. I believe that instead of ignoring the type of the returned JSON object, we now explicitly expect a string. This seems to be a bug that always existed in the project_items tap (an organizations stream), we are just less lenient with type checking now.

I think that a change needs to be made to these lines to convert the type, perhaps something like:

  for key in ["node_id", "id", "created_at", "updated_at"]:
      if key in field_value_data:
          value = field_value_data[key]
          # Convert databaseId (id) to string to match schema
          if key == "id" and value is not None:
              value = str(value)
          entry[key] = value

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions