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 e9d12bb2a2fa..dc02436cfdeb 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -449,7 +449,7 @@ - name: HubSpot sourceDefinitionId: 36c891d9-4bd9-43ac-bad2-10e12756272c dockerRepository: airbyte/source-hubspot - dockerImageTag: 0.1.83 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/sources/hubspot icon: hubspot.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 e4e012cd7940..8f9accc7be62 100644 --- a/airbyte-config/init/src/main/resources/seed/source_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_specs.yaml @@ -4315,7 +4315,7 @@ supportsNormalization: false supportsDBT: false supported_destination_sync_modes: [] -- dockerImage: "airbyte/source-hubspot:0.1.83" +- dockerImage: "airbyte/source-hubspot:0.2.0" spec: documentationUrl: "https://docs.airbyte.io/integrations/sources/hubspot" connectionSpecification: diff --git a/airbyte-integrations/connectors/source-hubspot/Dockerfile b/airbyte-integrations/connectors/source-hubspot/Dockerfile index efa6b430b5f3..71484d687c4b 100644 --- a/airbyte-integrations/connectors/source-hubspot/Dockerfile +++ b/airbyte-integrations/connectors/source-hubspot/Dockerfile @@ -34,5 +34,5 @@ COPY source_hubspot ./source_hubspot ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -LABEL io.airbyte.version=0.1.83 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-hubspot diff --git a/airbyte-integrations/connectors/source-hubspot/README.md b/airbyte-integrations/connectors/source-hubspot/README.md index ef1929193d0b..ca97836b945b 100644 --- a/airbyte-integrations/connectors/source-hubspot/README.md +++ b/airbyte-integrations/connectors/source-hubspot/README.md @@ -17,7 +17,6 @@ The primary key for the following streams is `id`: - engagements_meetings - engagements_notes - engagements_tasks -- feedback_submissions - forms - line_items - marketing_emails diff --git a/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml b/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml index 79aa6920f6ec..ea890d370b60 100644 --- a/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml @@ -15,18 +15,20 @@ tests: status: "exception" discovery: - config_path: "secrets/config.json" + backward_compatibility_tests_config: + disable_for_version: "0.1.83" basic_read: - config_path: "secrets/config.json" timeout_seconds: 600 configured_catalog_path: "sample_files/basic_read_catalog.json" - empty_streams: ["form_submissions", "ticket_pipelines", "engagements_meetings", "engagements_emails", "engagements", "feedback_submissions", "engagements_calls", "quotes"] + empty_streams: ["form_submissions", "ticket_pipelines", "engagements_meetings", "engagements_emails", "engagements", "engagements_calls", "quotes"] # This test commented out, since it produces errors during active testing # expect_records: # path: "integration_tests/expected_records.txt" - config_path: "secrets/config_oauth.json" timeout_seconds: 600 configured_catalog_path: "sample_files/basic_read_oauth_catalog.json" - empty_streams: ["form_submissions", "ticket_pipelines", "engagements_meetings", "engagements_emails", "engagements", "feedback_submissions", "engagements_calls", "quotes"] + empty_streams: ["form_submissions", "ticket_pipelines", "engagements_meetings", "engagements_emails", "engagements", "engagements_calls", "quotes"] # This test commented out, since it produces errors during active testing # expect_records: # path: "integration_tests/expected_records.txt" diff --git a/airbyte-integrations/connectors/source-hubspot/integration_tests/abnormal_state.json b/airbyte-integrations/connectors/source-hubspot/integration_tests/abnormal_state.json index a253d73ae5db..36b6029f0ecb 100644 --- a/airbyte-integrations/connectors/source-hubspot/integration_tests/abnormal_state.json +++ b/airbyte-integrations/connectors/source-hubspot/integration_tests/abnormal_state.json @@ -29,9 +29,6 @@ "engagements_tasks": { "updatedAt": "2221-10-12T13:37:56.412000+00:00" }, - "feedback_submissions": { - "updatedAt": "2221-10-12T13:37:56.412000+00:00" - }, "engagements": { "lastUpdated": 7945393076412 }, diff --git a/airbyte-integrations/connectors/source-hubspot/sample_files/basic_read_catalog.json b/airbyte-integrations/connectors/source-hubspot/sample_files/basic_read_catalog.json index 1ca557931598..edae8f79fa19 100644 --- a/airbyte-integrations/connectors/source-hubspot/sample_files/basic_read_catalog.json +++ b/airbyte-integrations/connectors/source-hubspot/sample_files/basic_read_catalog.json @@ -150,18 +150,6 @@ "cursor_field": ["updatedAt"], "destination_sync_mode": "append" }, - { - "stream": { - "name": "feedback_submissions", - "json_schema": {}, - "supported_sync_modes": ["full_refresh", "incremental"], - "source_defined_cursor": true, - "default_cursor_field": ["updatedAt"] - }, - "sync_mode": "full_refresh", - "cursor_field": ["updatedAt"], - "destination_sync_mode": "append" - }, { "stream": { "name": "forms", diff --git a/airbyte-integrations/connectors/source-hubspot/sample_files/incremental_catalog.json b/airbyte-integrations/connectors/source-hubspot/sample_files/incremental_catalog.json index b9a8d5cb8f91..913af8adf257 100644 --- a/airbyte-integrations/connectors/source-hubspot/sample_files/incremental_catalog.json +++ b/airbyte-integrations/connectors/source-hubspot/sample_files/incremental_catalog.json @@ -150,18 +150,6 @@ "cursor_field": ["updatedAt"], "destination_sync_mode": "append" }, - { - "stream": { - "name": "feedback_submissions", - "json_schema": {}, - "supported_sync_modes": ["full_refresh", "incremental"], - "source_defined_cursor": true, - "default_cursor_field": ["updatedAt"] - }, - "sync_mode": "incremental", - "cursor_field": ["updatedAt"], - "destination_sync_mode": "append" - }, { "stream": { "name": "forms", diff --git a/airbyte-integrations/connectors/source-hubspot/source_hubspot/source.py b/airbyte-integrations/connectors/source-hubspot/source_hubspot/source.py index 35f3b4650989..9c67ccd5a4da 100644 --- a/airbyte-integrations/connectors/source-hubspot/source_hubspot/source.py +++ b/airbyte-integrations/connectors/source-hubspot/source_hubspot/source.py @@ -32,7 +32,6 @@ EngagementsMeetings, EngagementsNotes, EngagementsTasks, - FeedbackSubmissions, Forms, FormSubmissions, LineItems, @@ -105,7 +104,6 @@ def streams(self, config: Mapping[str, Any]) -> List[Stream]: EngagementsMeetings(**common_params), EngagementsNotes(**common_params), EngagementsTasks(**common_params), - FeedbackSubmissions(**common_params), Forms(**common_params), FormSubmissions(**common_params), LineItems(**common_params), diff --git a/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py b/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py index 55271dbedc3f..999dd7308bd5 100644 --- a/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py +++ b/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py @@ -1528,6 +1528,7 @@ class EngagementsTasks(CRMSearchStream): scopes = {"crm.objects.contacts.read"} +# this stream uses a beta endpoint thus is unstable and disabled class FeedbackSubmissions(CRMObjectIncrementalStream): entity = "feedback_submissions" associations = ["contacts"] diff --git a/airbyte-integrations/connectors/source-hubspot/unit_tests/test_source.py b/airbyte-integrations/connectors/source-hubspot/unit_tests/test_source.py index e67397f681d8..8e9949c94165 100644 --- a/airbyte-integrations/connectors/source-hubspot/unit_tests/test_source.py +++ b/airbyte-integrations/connectors/source-hubspot/unit_tests/test_source.py @@ -64,7 +64,7 @@ def test_check_connection_exception(config): def test_streams(config): streams = SourceHubspot().streams(config) - assert len(streams) == 27 + assert len(streams) == 26 def test_check_credential_title_exception(config): diff --git a/airbyte-integrations/connectors/source-hubspot/unit_tests/test_streams.py b/airbyte-integrations/connectors/source-hubspot/unit_tests/test_streams.py index 97110890875f..e39ee62523b0 100644 --- a/airbyte-integrations/connectors/source-hubspot/unit_tests/test_streams.py +++ b/airbyte-integrations/connectors/source-hubspot/unit_tests/test_streams.py @@ -18,7 +18,6 @@ EngagementsMeetings, EngagementsNotes, EngagementsTasks, - FeedbackSubmissions, Forms, FormSubmissions, LineItems, @@ -91,7 +90,6 @@ def test_updated_at_field_non_exist_handler(requests_mock, common_params, fake_p (EngagementsMeetings, "meetings"), (EngagementsNotes, "notes"), (EngagementsTasks, "tasks"), - (FeedbackSubmissions, "feedback_submissions"), (Forms, "form"), (FormSubmissions, "form"), (LineItems, "line_item"), diff --git a/docs/integrations/sources/hubspot.md b/docs/integrations/sources/hubspot.md index cca23a9d8a41..c5d07788c1cf 100644 --- a/docs/integrations/sources/hubspot.md +++ b/docs/integrations/sources/hubspot.md @@ -18,7 +18,6 @@ You can use OAuth, API key, or Private App to authenticate your HubSpot account. | `email_events` | `content` | | `engagements` | `contacts` | | `engagements_emails` | `sales-email-read` | -| `feedback_submissions` | `crm.objects.feedback_submissions.read` | | `forms` | `forms` | | `form_submissions` | `forms` | | `line_items` | `e-commerce` | @@ -71,7 +70,6 @@ The HubSpot source connector supports the following streams: * [Engagements Meetings](https://developers.hubspot.com/docs/api/crm/meetings) \(Incremental\) * [Engagements Notes](https://developers.hubspot.com/docs/api/crm/notes) \(Incremental\) * [Engagements Tasks](https://developers.hubspot.com/docs/api/crm/tasks) \(Incremental\) -* [Feedback Submissions](https://developers.hubspot.com/docs/api/crm/feedback-submissions) \(Incremental\) * [Forms](https://developers.hubspot.com/docs/api/marketing/forms) * [Form Submissions](https://legacydocs.hubspot.com/docs/methods/forms/get-submissions-for-a-form) * [Line Items](https://developers.hubspot.com/docs/api/crm/line-items) \(Incremental\) @@ -134,6 +132,7 @@ Now that you have set up the Hubspot source connector, check out the following H | Version | Date | Pull Request | Subject | |:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------| +| 0.2.0 | 2022-09-13 | [16632](https://github.com/airbytehq/airbyte/pull/16632) | Remove Feedback Submissions stream as the one using unstable (beta) API. | | 0.1.83 | 2022-09-01 | [16214](https://github.com/airbytehq/airbyte/pull/16214) | Update Tickets, fix missing properties and change how state is updated. | | 0.1.82 | 2022-08-18 | [15110](https://github.com/airbytehq/airbyte/pull/15110) | Check if it has a state on search streams before first sync | | 0.1.81 | 2022-08-05 | [15354](https://github.com/airbytehq/airbyte/pull/15354) | Fix `Deals` stream schema |