-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
✨ low-code CDK: Allow connector developers to specify the type of an added field #31638
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
…into alex/typed_add_fields
source-paypal-transaction test report (commit
|
Step | Result |
---|---|
Build source-paypal-transaction docker image for platform(s) linux/x86_64 | ✅ |
Acceptance tests | ✅ |
Code format checks | ✅ |
Validate metadata for source-paypal-transaction | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-paypal-transaction test
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 @girarda! Just one small question.
self._delegate.reset() | ||
|
||
def get_page_size(self) -> Optional[int]: | ||
return self._delegate.get_page_size() | ||
|
||
@property | ||
def initial_token(self) -> Optional[Any]: |
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.
Why is this change needed?
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.
the method is an abstractmethod
in the parent PaginationStrategy
class so it must be implemented by StopConditionPaginationStrategyDecorator
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.
Okay, this is just something that was overlooked previously?
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.
that's right. mypy should've caught it when the method was introduced by it had been accidentally removed from the build pipeline for a few weeks. It caught the issue this so we should be good moving forward
source-paypal-transaction test report (commit
|
Step | Result |
---|---|
Build source-paypal-transaction docker image for platform(s) linux/amd64 | ❌ |
Code format checks | ✅ |
Validate metadata for source-paypal-transaction | ✅ |
Connector version semver check | ✅ |
QA checks | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-paypal-transaction test
What
Example usage:
This feature is necessary to fix an regression introduced in source-paypal-transaction when it was migrated to low-code.
The values are implicitly casted to numbers, which is wrong because they should be treated as strings.
This should be followed up by
How
value_type
field toAddedFieldDefinition
objectValueType
enumAddFields
componentRecommended reading order
airbyte-cdk/python/airbyte_cdk/sources/declarative/declarative_component_schema.yaml
airbyte-cdk/python/airbyte_cdk/sources/declarative/parsers/model_to_component_factory.py
airbyte-cdk/python/airbyte_cdk/sources/declarative/transformations/add_fields.py
airbyte-cdk/python/airbyte_cdk/sources/declarative/transformations/transformation.py
airbyte-cdk/python/airbyte_cdk/sources/declarative/requesters/paginators/strategies/stop_condition.py
airbyte-cdk/python/airbyte_cdk/sources/declarative/requesters/paginators/strategies/pagination_strategy.py
🚨 User Impact 🚨
None. This is an additive feature.
Pre-merge Actions
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.0.0.1
Dockerfile
has version0.0.1
README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog with an entry for the initial version. See changelog exampledocs/integrations/README.md
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
Updating a connector
Community member or Airbyter
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
Connector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:generateScaffolds
then checking in your changesUpdating the Python CDK
Airbyter
Before merging:
--use-local-cdk --name=source-<connector>
as optionsairbyte-ci connectors --use-local-cdk --name=source-<connector> test
After merging: