-
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
🎉 New Source: SurveyCTO #19371
🎉 New Source: SurveyCTO #19371
Conversation
Thanks @siddhant3030, this will be reviewed as part of Airbyte's Community Maintainer program. Please remain patient as someone is assigned to review your PR and ping me if you don't get a response in a few days. |
Thanks @siddhant3030 , here Andres, part of the Community Maintainer program. I'll be assisting with the review of this PR. |
@siddhant3030 seems you are still working on the PR, please ask for my review when you are ready. Thanks! |
@andresbravog Hey. It's ready for review. I just did some cleanups. Please let me know what things to add more here |
Thanks, @siddhant3030 there is a |
@andresbravog Can you help me with this? Getting this while running the acceptance test "source_acceptance_test.plugin" |
@siddhant3030 in your case as this is a Python CDK connector you can: Preparecd airbyte-integrations/connectors/source-surveycto
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
docker build . -t airbyte/source-surveycto:dev Integration tests
or just acceptance
Unit tests
|
@andresbravog Just fixed it all. Please review |
@siddhant3030 well done you are clean now! @sajarin can we retest? |
Hello 👋, first thank you for this amazing contribution. We really appreciate the effort you've made to improve the project. If you have any questions feel free to send me a message in Slack! |
/publish connector=connectors/source-surveycto run-tests=false
if you have connectors that successfully published but failed definition generation, follow step 4 here |
@sajarin this seems to be completed and published who takes care about conflicts? |
@sajarin Is this ready to be merged? |
@siddhant3030 thanks for the PR and thanks @andresbravog for the review! |
@sajarin @andresbravog Thankyou guys. |
What
Describe what the change is solving
SurveyCTO is a mobile data collection platform for researchers and professionals working in offline settings. For organizations using SurveyCTO having a native Airbyte connector to import data will allow for ingestion into their data warehouses and use of the data for analysis. Current processes involve working with SurveyCTO APIs and ingestion through scripts.
It helps to add screenshots if it affects the frontend. - doesn't effect the frontend
How
Describe the solution
The current version of the connector provides for ingesting data through Airbyte from multiple forms in an organization's SurveyCTO account. The implemented version of the connector will allow for all sync modes - full refresh and incremental including de-duped mode. A best-guess normalization is also provided to ease the normalization process using a couple of python libraries to guess the schema from the data fetched back through the API
Pre-merge Checklist
Expand the relevant checklist and delete the others.
SurveyCTO
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
unit_tests/test_source.py::test_spec PASSED
unit_tests/test_source.py::test_check_connection PASSED
unit_tests/test_source.py::test_streams {"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
{"type": "LOG", "log": {"level": "INFO", "message": "Processed 0 lines"}}
PASSED
unit_tests/test_streams.py::test_get_json_schema PASSED
Integration
Test session starts (platform: darwin, Python 3.10.6, pytest 6.2.5, pytest-sugar 0.9.6)
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/Users/arun/Documents/airbyte/airbyte-integrations/connectors/source-surveycto/.hypothesis/examples')
rootdir: /Users/arun/Documents/airbyte, configfile: pytest.ini
plugins: hypothesis-6.54.6, requests-mock-1.9.3, mock-3.6.1, sugar-0.9.6, timeout-1.4.2, cov-3.0.0
collecting ...
Results (0.35s):
Acceptance