From 4897bbc98357587c187fe9b923630f0291fa3d2a Mon Sep 17 00:00:00 2001 From: Denys Davydov Date: Thu, 5 Jan 2023 15:51:33 +0200 Subject: [PATCH] Source Salesforce: remove ActivityMetric stream (#20886) Signed-off-by: Sergey Chvalyuk --- .../init/src/main/resources/seed/source_definitions.yaml | 2 +- .../init/src/main/resources/seed/source_specs.yaml | 2 +- airbyte-integrations/connectors/source-salesforce/Dockerfile | 2 +- .../connectors/source-salesforce/source_salesforce/api.py | 5 ++++- .../source-salesforce/unit_tests/discovery_test.py | 3 ++- docs/integrations/sources/salesforce.md | 1 + 6 files changed, 10 insertions(+), 5 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 a8cdf03a96a42..efecb4ffd4b87 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -1431,7 +1431,7 @@ - name: Salesforce sourceDefinitionId: b117307c-14b6-41aa-9422-947e34922962 dockerRepository: airbyte/source-salesforce - dockerImageTag: 1.0.28 + dockerImageTag: 1.0.29 documentationUrl: https://docs.airbyte.com/integrations/sources/salesforce icon: salesforce.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 edad12712d77e..1658a5a440d11 100644 --- a/airbyte-config/init/src/main/resources/seed/source_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_specs.yaml @@ -12857,7 +12857,7 @@ supportsNormalization: false supportsDBT: false supported_destination_sync_modes: [] -- dockerImage: "airbyte/source-salesforce:1.0.28" +- dockerImage: "airbyte/source-salesforce:1.0.29" spec: documentationUrl: "https://docs.airbyte.com/integrations/sources/salesforce" connectionSpecification: diff --git a/airbyte-integrations/connectors/source-salesforce/Dockerfile b/airbyte-integrations/connectors/source-salesforce/Dockerfile index 43190fcb9028a..6a43255b7a187 100644 --- a/airbyte-integrations/connectors/source-salesforce/Dockerfile +++ b/airbyte-integrations/connectors/source-salesforce/Dockerfile @@ -13,5 +13,5 @@ RUN pip install . ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -LABEL io.airbyte.version=1.0.28 +LABEL io.airbyte.version=1.0.29 LABEL io.airbyte.name=airbyte/source-salesforce diff --git a/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py b/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py index 226e14d1bbd1e..cce398257e59c 100644 --- a/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py +++ b/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py @@ -256,10 +256,13 @@ def get_validated_streams(self, config: Mapping[str, Any], catalog: ConfiguredAi """ stream_objects = {} for stream_object in self.describe()["sobjects"]: + if stream_object["name"].lower() == "activitymetric": + self.logger.warning(f"Stream {stream_object['name']} can not be used without object ID therefore will be ignored.") + continue if stream_object["queryable"]: stream_objects[stream_object.pop("name")] = stream_object else: - self.logger.warn(f"Stream {stream_object['name']} is not queryable and will be ignored.") + self.logger.warning(f"Stream {stream_object['name']} is not queryable and will be ignored.") if catalog: return { diff --git a/airbyte-integrations/connectors/source-salesforce/unit_tests/discovery_test.py b/airbyte-integrations/connectors/source-salesforce/unit_tests/discovery_test.py index cc1adccf29856..a2433a1c8d4f9 100644 --- a/airbyte-integrations/connectors/source-salesforce/unit_tests/discovery_test.py +++ b/airbyte-integrations/connectors/source-salesforce/unit_tests/discovery_test.py @@ -60,7 +60,7 @@ def test_discover_with_streams_criteria_param(streams_criteria, predicted_filter assert sorted(filtered_streams.keys()) == sorted(predicted_filtered_streams) -def test_discover_only_queryable(stream_config): +def test_discovery_filter(stream_config): sf_object = Salesforce(**stream_config) sf_object.login = Mock() sf_object.access_token = Mock() @@ -69,6 +69,7 @@ def test_discover_only_queryable(stream_config): return_value={ "sobjects": [ {"name": "Account", "queryable": True}, + {"name": "ActivityMetric", "queryable": True}, {"name": "Leads", "queryable": False}, ] } diff --git a/docs/integrations/sources/salesforce.md b/docs/integrations/sources/salesforce.md index eaa04323b75ee..b8d7a4e0a344b 100644 --- a/docs/integrations/sources/salesforce.md +++ b/docs/integrations/sources/salesforce.md @@ -129,6 +129,7 @@ Now that you have set up the Salesforce source connector, check out the followin | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------| +| 1.0.29 | 2023-01-05 | [20886](https://github.com/airbytehq/airbyte/pull/20886) | Remove `ActivityMetric` stream | | 1.0.28 | 2022-12-29 | [20927](https://github.com/airbytehq/airbyte/pull/20927) | Fix tests; add expected records | | 1.0.27 | 2022-11-29 | [19869](https://github.com/airbytehq/airbyte/pull/19869) | Remove `AccountHistory` from unsupported BULK streams | | 1.0.26 | 2022-11-15 | [19286](https://github.com/airbytehq/airbyte/pull/19286) | Bugfix: fallback to REST API if entity is not supported by BULK API |