Skip to content

Support for JSON Schema refs in Schemas

Ref isn't currently supported in schemas, and it fails in a very peculiar way (empty object is returned)

I assumed they were supported as schemas follow the json schema spec, but I guess it's not included. I believe Schemas are parsed from the pipelinewise-singer-python = "1.2.0" dependency which I believe gets parsed here https://github.com/transferwise/pipelinewise-singer-python/blob/master/singer/schema.py . It's odd to me that we're not using the jsonschema library here to parse the schemas but 🤷

Use case:

  1. https://github.com/AutoIDM/tap-clickup/blob/c99bb82c3b7eec7b25732ecdb1c091d5795c8420/tap_clickup/schemas/space.json?#L158 , lots of nested values that all need the same definitions.
  2. This also makes for nicer json schema if you don't have to copy paste all of the time, the tap-clickup repo uses it all of the time

Current outcome for refs:

  1. Schema for the ref object returns an empty object. This is bad, and unexpected. This led to https://github.com/AutoIDM/tap-clickup/issues/104 . I think #228 (comment 801273924) should be able to catch this kind of stuff by validating the schema is correct (in this case an empty object imo isn't correct, or at a minimum should be a warning in a validation process)
Edited by Taylor A Murphy