From 678cc7ee649e15445d3f680f02f3a3f0a6017661 Mon Sep 17 00:00:00 2001 From: Arsen Losenko Date: Wed, 9 Nov 2022 12:47:32 +0200 Subject: [PATCH 1/4] Source Google Ads: add TypeTransformer to force proper type casting --- airbyte-integrations/connectors/source-google-ads/Dockerfile | 2 +- .../connectors/source-google-ads/source_google_ads/streams.py | 2 ++ docs/integrations/sources/google-ads.md | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/airbyte-integrations/connectors/source-google-ads/Dockerfile b/airbyte-integrations/connectors/source-google-ads/Dockerfile index 04b924655c804..409d7e734fa8b 100644 --- a/airbyte-integrations/connectors/source-google-ads/Dockerfile +++ b/airbyte-integrations/connectors/source-google-ads/Dockerfile @@ -13,5 +13,5 @@ COPY main.py ./ ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -LABEL io.airbyte.version=0.2.3 +LABEL io.airbyte.version=0.2.4 LABEL io.airbyte.name=airbyte/source-google-ads diff --git a/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py b/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py index ac0e661a4baea..84ede9e188213 100644 --- a/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py +++ b/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py @@ -8,6 +8,7 @@ import pendulum from airbyte_cdk.models import SyncMode from airbyte_cdk.sources.streams import IncrementalMixin, Stream +from airbyte_cdk.sources.utils.transform import TransformConfig, TypeTransformer from google.ads.googleads.errors import GoogleAdsException from google.ads.googleads.v11.errors.types.authorization_error import AuthorizationErrorEnum from google.ads.googleads.v11.errors.types.request_error import RequestErrorEnum @@ -86,6 +87,7 @@ def chunk_date_range( class GoogleAdsStream(Stream, ABC): CATCH_API_ERRORS = True + transformer = TypeTransformer(TransformConfig.DefaultSchemaNormalization) def __init__(self, api: GoogleAds, customers: List[Customer]): self.google_ads_client = api diff --git a/docs/integrations/sources/google-ads.md b/docs/integrations/sources/google-ads.md index 5b16096255eeb..be9ad9709f781 100644 --- a/docs/integrations/sources/google-ads.md +++ b/docs/integrations/sources/google-ads.md @@ -124,6 +124,7 @@ Due to a limitation in the Google Ads API which does not allow getting performan | Version | Date | Pull Request | Subject | |:---------|:-----------|:---------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------| +| `0.2.4` | 2022-11-09 | [00000](https://github.com/airbytehq/airbyte/pull/00000) | Add TypeTransofrmer to Campaign stream | | `0.2.3` | 2022-10-17 | [18069](https://github.com/airbytehq/airbyte/pull/18069) | Add `segments.hour`, `metrics.ctr`, `metrics.conversions` and `metrics.conversions_values` fields to `campaigns` report stream | | `0.2.2` | 2022-10-21 | [17412](https://github.com/airbytehq/airbyte/pull/17412) | Release with CDK >= 0.2.2 | | `0.2.1` | 2022-09-29 | [17412](https://github.com/airbytehq/airbyte/pull/17412) | Always use latest CDK version | From 799b7f1945f3194ca08eab31aaa0ef2eabb3303f Mon Sep 17 00:00:00 2001 From: Arsen Losenko Date: Wed, 9 Nov 2022 12:56:24 +0200 Subject: [PATCH 2/4] Update changelog --- docs/integrations/sources/google-ads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/sources/google-ads.md b/docs/integrations/sources/google-ads.md index be9ad9709f781..e2e107cff9563 100644 --- a/docs/integrations/sources/google-ads.md +++ b/docs/integrations/sources/google-ads.md @@ -124,7 +124,7 @@ Due to a limitation in the Google Ads API which does not allow getting performan | Version | Date | Pull Request | Subject | |:---------|:-----------|:---------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------| -| `0.2.4` | 2022-11-09 | [00000](https://github.com/airbytehq/airbyte/pull/00000) | Add TypeTransofrmer to Campaign stream | +| `0.2.4` | 2022-11-09 | [19208](https://github.com/airbytehq/airbyte/pull/19208) | Add TypeTransofrmer to force proper type casting | | `0.2.3` | 2022-10-17 | [18069](https://github.com/airbytehq/airbyte/pull/18069) | Add `segments.hour`, `metrics.ctr`, `metrics.conversions` and `metrics.conversions_values` fields to `campaigns` report stream | | `0.2.2` | 2022-10-21 | [17412](https://github.com/airbytehq/airbyte/pull/17412) | Release with CDK >= 0.2.2 | | `0.2.1` | 2022-09-29 | [17412](https://github.com/airbytehq/airbyte/pull/17412) | Always use latest CDK version | From 136bc1fa66b9be30055fe3b00b5be19355aad051 Mon Sep 17 00:00:00 2001 From: Arsen Losenko Date: Wed, 9 Nov 2022 15:11:24 +0200 Subject: [PATCH 3/4] Speciy TypeTransformer only to Campaigns stream --- .../connectors/source-google-ads/source_google_ads/streams.py | 2 +- docs/integrations/sources/google-ads.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py b/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py index 84ede9e188213..998519e9bdcc0 100644 --- a/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py +++ b/airbyte-integrations/connectors/source-google-ads/source_google_ads/streams.py @@ -87,7 +87,6 @@ def chunk_date_range( class GoogleAdsStream(Stream, ABC): CATCH_API_ERRORS = True - transformer = TypeTransformer(TransformConfig.DefaultSchemaNormalization) def __init__(self, api: GoogleAds, customers: List[Customer]): self.google_ads_client = api @@ -258,6 +257,7 @@ class Campaigns(IncrementalGoogleAdsStream): Campaigns stream: https://developers.google.com/google-ads/api/fields/v11/campaign """ + transformer = TypeTransformer(TransformConfig.DefaultSchemaNormalization) primary_key = ["campaign.id", "segments.date"] diff --git a/docs/integrations/sources/google-ads.md b/docs/integrations/sources/google-ads.md index e2e107cff9563..1f33d0404a67b 100644 --- a/docs/integrations/sources/google-ads.md +++ b/docs/integrations/sources/google-ads.md @@ -124,7 +124,7 @@ Due to a limitation in the Google Ads API which does not allow getting performan | Version | Date | Pull Request | Subject | |:---------|:-----------|:---------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------| -| `0.2.4` | 2022-11-09 | [19208](https://github.com/airbytehq/airbyte/pull/19208) | Add TypeTransofrmer to force proper type casting | +| `0.2.4` | 2022-11-09 | [19208](https://github.com/airbytehq/airbyte/pull/19208) | Add TypeTransofrmer to Campaings stream to force proper type casting | | `0.2.3` | 2022-10-17 | [18069](https://github.com/airbytehq/airbyte/pull/18069) | Add `segments.hour`, `metrics.ctr`, `metrics.conversions` and `metrics.conversions_values` fields to `campaigns` report stream | | `0.2.2` | 2022-10-21 | [17412](https://github.com/airbytehq/airbyte/pull/17412) | Release with CDK >= 0.2.2 | | `0.2.1` | 2022-09-29 | [17412](https://github.com/airbytehq/airbyte/pull/17412) | Always use latest CDK version | From bd1832e95607d140c31790cbcc7b0d1f720f9766 Mon Sep 17 00:00:00 2001 From: Octavia Squidington III Date: Thu, 10 Nov 2022 14:01:28 +0000 Subject: [PATCH 4/4] auto-bump connector version --- .../init/src/main/resources/seed/source_definitions.yaml | 2 +- airbyte-config/init/src/main/resources/seed/source_specs.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml index 1362d862a7c82..ceb90fe45a6f2 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -499,7 +499,7 @@ - name: Google Ads sourceDefinitionId: 253487c0-2246-43ba-a21f-5116b20a2c50 dockerRepository: airbyte/source-google-ads - dockerImageTag: 0.2.3 + dockerImageTag: 0.2.4 documentationUrl: https://docs.airbyte.com/integrations/sources/google-ads icon: google-adwords.svg sourceType: api diff --git a/airbyte-config/init/src/main/resources/seed/source_specs.yaml b/airbyte-config/init/src/main/resources/seed/source_specs.yaml index 4bbd82fca594c..179c58adc5884 100644 --- a/airbyte-config/init/src/main/resources/seed/source_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_specs.yaml @@ -4548,7 +4548,7 @@ supportsNormalization: false supportsDBT: false supported_destination_sync_modes: [] -- dockerImage: "airbyte/source-google-ads:0.2.3" +- dockerImage: "airbyte/source-google-ads:0.2.4" spec: documentationUrl: "https://docs.airbyte.com/integrations/sources/google-ads" connectionSpecification: