-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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 Iterable - added new events streams #16067
Conversation
/test connector=connectors/source-iterable
Build PassedTest summary info:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
airbyte-integrations/connectors/source-iterable/unit_tests/test_export_adjustable_range.py
Show resolved
Hide resolved
Assigning this one to @alafanechere since @Phlair is OOO. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this addition. I made multiple suggestions.
What would it take to fill our sandbox account with test data on these new streams to ensure our SAT runs on this PR?
If you can't feed the sandbox account with test data could you please declare the empty streams in the acceptance-test-config.yml
?
In addition could you please bump the connector version and update the changelog?
airbyte-integrations/connectors/source-iterable/source_iterable/api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/source_iterable/api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/source_iterable/api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/source_iterable/api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/source_iterable/api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/unit_tests/test_api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/unit_tests/test_api.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/unit_tests/test_source.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/unit_tests/test_source.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-iterable/unit_tests/test_source.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Behaviorally things look, good but as mentioned before, I think we should restructure api.py
and iterable_streams.py
to adhere to existing connector conventions. Once we do that, pending retesting, we should be all set.
airbyte-integrations/connectors/source-iterable/source_iterable/api.py
Outdated
Show resolved
Hide resolved
/test connector=connectors/source-iterable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changes look good, thanks for restructuring the streams. it might still be worth looking into what data we could populate to adequately test the streams in SAT, but that can be a follow up.
/test connector=connectors/source-iterable
Build FailedTest summary info:
|
/test connector=connectors/source-iterable
Build PassedTest summary info:
|
…ts' into midavadim/14147-iterable-unittests # Conflicts: # airbyte-integrations/connectors/source-iterable/unit_tests/test_streams.py
/publish connector=connectors/source-iterable
if you have connectors that successfully published but failed definition generation, follow step 4 here |
/publish connector=connectors/source-iterable
if you have connectors that successfully published but failed definition generation, follow step 4 here |
/test connector=connectors/source-iterable
Build PassedTest summary info:
|
/publish connector=connectors/source-iterable if you have connectors that successfully published but failed definition generation, follow step 4 here |
/publish connector=connectors/source-iterable run-tests=false
if you have connectors that successfully published but failed definition generation, follow step 4 here |
…ts' into midavadim/14147-iterable-unittests
* increased unit test coverage * added additional events streams * updated tests * bumped connector version, update changelog * fixed indentations * api.py and iterable_streams.py merged into one stream.py file * Fix unit tests * updated release stage * fixed import * Updated version in seed * auto-bump connector version [ci skip] * updated source_specs.yaml Co-authored-by: Serhii Lazebnyi <[email protected]> Co-authored-by: Serhii Lazebnyi <[email protected]> Co-authored-by: Octavia Squidington III <[email protected]>
* increased unit test coverage * added additional events streams * updated tests * bumped connector version, update changelog * fixed indentations * api.py and iterable_streams.py merged into one stream.py file * Fix unit tests * updated release stage * fixed import * Updated version in seed * auto-bump connector version [ci skip] * updated source_specs.yaml Co-authored-by: Serhii Lazebnyi <[email protected]> Co-authored-by: Serhii Lazebnyi <[email protected]> Co-authored-by: Octavia Squidington III <[email protected]>
What
#13504 - Update Iterable connector to support incremental events
'events' API does not support the ability to query on specific date range:
https://api.iterable.com/api/docs#export_exportUserEvents
Export all events in JSON format for a user-specified by email or userId. One event per line.
so it is not possible to implement incremental sync for 'events' streams based on exportUserEvents API.
How
So exportUserEvents and exportDataJson returns the same data, explanation EXPORT API:
https://api.iterable.com/api/docs#export_exportUserEvents:
export all events (all types) by user
https://api.iterable.com/api/docs#export_exportDataJson:
export all events by event_type, support incremental sync based on date range
So since exportUserEvents does not allow incremental sync, we can implement separate incremental streams for all missing event types. thus such implementation covers customer request.
Important: our current iterable account does not have any date for new streams.
Recommended reading order
x.java
y.python
🚨 User Impact 🚨
Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New 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 exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
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 hereUpdating 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 hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changesTests
Unit
Put your unit tests output here.
Integration
Put your integration tests output here.
Acceptance
Put your acceptance tests output here.