Skip to content

SAC-31563 Updated Schemas - #29

Open
rsaha-qlik wants to merge 2 commits into
masterfrom
SAC-31563-product-constraints-update
Open

SAC-31563 Updated Schemas#29
rsaha-qlik wants to merge 2 commits into
masterfrom
SAC-31563-product-constraints-update

Conversation

@rsaha-qlik

@rsaha-qlik rsaha-qlik commented Jul 9, 2026

Copy link
Copy Markdown

Description of change

https://qlik-dev.atlassian.net/browse/SAC-31565

⚠️ Breaking Changes

This PR includes schema changes that may require downstream updates and is released as v2.0.0.

What changed

  • products.custom_fields is now strictly typed as ["array", "null"] with object items (name, value, id).
  • Several previously non-nullable container fields were updated to allow null to match API behavior:
    • products.categories
    • products.related_products
    • coupons.applies_to
    • orders.billing_address
    • products.bulk_pricing_rules

Why this is breaking

  • Pipelines that assumed a different shape for products.custom_fields (for example, object/non-array handling) may fail validation or transformation after upgrade.
  • Strict schema-based loaders/models may need updates to reflect these type constraints.

Action required

  • Review downstream models/transformations for products.custom_fields and ensure they handle only array-or-null.
  • Confirm warehouse/table definitions and dbt models accept nullable values for the updated fields above.
  • Re-run discovery and refresh catalog/schema artifacts before next sync.

Manual QA steps

Risks

Rollback steps

  • revert this branch

AI generated code

https://internal.qlik.dev/general/ways-of-working/code-reviews/#guidelines-for-ai-generated-code

  • this PR has been written with the help of GitHub Copilot or another generative AI tool

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Singer JSON schemas for the BigCommerce tap to better reflect nullable API fields and fix downstream loading issues with target-snowflake (per SAC-31565).

Changes:

  • Allow null for several array-typed fields in products (e.g., categories, related_products, bulk_pricing_rules).
  • Correct products.custom_fields to be a nullable array of objects (instead of an object).
  • Allow null for nested objects that can be absent/empty in payloads (orders.billing_address, coupons.applies_to).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
tap_bigcommerce/schemas/products.json Makes selected arrays nullable and fixes custom_fields to a nullable array of objects.
tap_bigcommerce/schemas/orders.json Allows billing_address to be null while keeping the object shape.
tap_bigcommerce/schemas/coupons.json Allows applies_to to be null while keeping the object shape.

},
"id": {
"$ref": "type-integer.json"
"type": ["array", "null"],

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants