-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🎉 Source bigcommerce: add brands and categories streams #20518
🎉 Source bigcommerce: add brands and categories streams #20518
Conversation
…product-info-to-orders-stream
…-categories-to-bigcommerce
…-categories-to-bigcommerce
Hello 👋:skin-tone-2: and thank you for your contribution! Airbyte has instituted a code freeze between 19 and 30 December, to make sure there are no disruptions during the holidays. If you have any questions or need further clarification, please don't hesitate to ping via Slack. |
Hey @PhilipCorr, thank you for your contribution. |
/test connector=connectors/source-bigcommerce
Build FailedTest summary info:
|
Your PR looks good, i will publish the connector soon. |
/publish connector=connectors/source-bigcommerce
if you have connectors that successfully published but failed definition generation, follow step 4 here |
/publish connector=connectors/source-bigcommerce run-tests=false
if you have connectors that successfully published but failed definition generation, follow step 4 here |
@sajarin this PR is ready to merge. |
Hi @haithem-souala and @sajarin, are we happy to merge this PR? Thanks! |
Hi @haithem-souala and @sajarin it would be great to get this merged soon if possible. It's starting to block some work that I have ongoing. Thanks! |
Hi @PhilipCorr, I am reaching out to some members of the Airbyte team to request the merging of this PR. As you may be aware, the merge process was on hold from December 19th to December 30th. I appreciate your patience. |
That's great, thanks for the help @haithem-souala! |
…-categories-to-bigcommerce
Thanks @PhilipCorr for the PR and thanks @haithem-souala for the review :) |
* Add product info to the orders stream * Update docs * Refactor order_products into its own stream * formatting * Update docs and docker version * remove duplicate field * Add brands and categories streams to bigcommerce * remove duplicate state * remove duplicate source * update docs * update docs * bump docker version * update markdown * lint * auto-bump connector version Co-authored-by: Sajarin <sajarindider@gmail.com> Co-authored-by: Haithem SOUALA <haithem.souala@woopit.fr> Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
What
Add two new streams. One for brands and one for categories.
How
The endpoints for these are described here:
https://developer.bigcommerce.com/api-reference/c2610608c20c8-get-all-brands
https://developer.bigcommerce.com/api-reference/9cc3a53863922-get-all-categories
They are both very similar in that the url matches:
where the data field is either
brands
orcategories
.Neither of these endpoints have a date field that can be used for incremental syncing.
Instead, similar to the existing
Pages
source, they have anid
field.This is why we need to override the
read_records
method and explicitly call thefilter_records_newer_than_state
method.Recommended reading order
Start with
source.py
.Everything should make sense after that as the streams are reasonably standard.
🚨 User Impact 🚨
No breaking changes. This just adds two new streams which the user can opt into pulling if they want.
Pre-merge Checklist
Updating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing/publish
command described hereTests
Unit
There are no unit tests for the bigcommerce connector.
Integration
There are no integration tests for the bigcommerce connector.
Acceptance
===========================================================================================
../../bases/source-acceptance-test/source_acceptance_test/config.py:257: 30 warnings
airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/tests/test_core.py: 1 warning
/Users/phil/Repos/phil/airbyte/airbyte-integrations/bases/source-acceptance-test/source_acceptance_test/config.py:257: DeprecationWarning: The 'warn' function is deprecated, use 'warning' instead
logging.warn("The acceptance-test-config.yml file is in a legacy format. Please migrate to the latest format.")
-- Docs: https://docs.pytest.org/en/stable/warnings.html
Results (26.17s):
31 passed