diff --git a/airbyte-integrations/connectors/source-google-sheets/integration_tests/configured_catalog.json b/airbyte-integrations/connectors/source-google-sheets/integration_tests/configured_catalog.json index 0c287f046d0bc..8a864697740f0 100644 --- a/airbyte-integrations/connectors/source-google-sheets/integration_tests/configured_catalog.json +++ b/airbyte-integrations/connectors/source-google-sheets/integration_tests/configured_catalog.json @@ -2,7 +2,7 @@ "streams": [ { "stream": { - "name": "Sheet1-one-col", + "name": "Sheet1 one col&special name%?", "json_schema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", diff --git a/airbyte-integrations/connectors/source-google-sheets/integration_tests/expected_records.txt b/airbyte-integrations/connectors/source-google-sheets/integration_tests/expected_records.txt index 14d738e1457ce..caf20ab823afa 100644 --- a/airbyte-integrations/connectors/source-google-sheets/integration_tests/expected_records.txt +++ b/airbyte-integrations/connectors/source-google-sheets/integration_tests/expected_records.txt @@ -1,26 +1,26 @@ -{"stream":"Sheet1-one-col","data":{"ID":"aa"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"bb"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"1"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"2"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"3"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"4"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"5"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"6"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"7"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"8"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"9"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"10"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"11"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"12"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"13"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"14"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"15"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"16"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"17"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"18"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"19"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"20"},"emitted_at":1673989565000} -{"stream":"Sheet1-one-col","data":{"ID":"21"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"aa"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"bb"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"1"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"2"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"3"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"4"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"5"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"6"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"7"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"8"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"9"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"10"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"11"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"12"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"13"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"14"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"15"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"16"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"17"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"18"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"19"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"20"},"emitted_at":1673989565000} +{"stream":"Sheet1 one col&special name%?","data":{"ID":"21"},"emitted_at":1673989565000} {"stream":"Sheet2-two-cols","data":{"ID":"a","Name":"a"},"emitted_at":1673989565000} {"stream":"Sheet2-two-cols","data":{"ID":"b","Name":"b"},"emitted_at":1673989565000} {"stream":"Sheet2-two-cols","data":{"ID":"c","Name":"c"},"emitted_at":1673989565000} diff --git a/airbyte-integrations/connectors/source-google-sheets/metadata.yaml b/airbyte-integrations/connectors/source-google-sheets/metadata.yaml index 9804875138fce..41bbf428d9f48 100644 --- a/airbyte-integrations/connectors/source-google-sheets/metadata.yaml +++ b/airbyte-integrations/connectors/source-google-sheets/metadata.yaml @@ -10,7 +10,7 @@ data: connectorSubtype: file connectorType: source definitionId: 71607ba1-c0ac-4799-8049-7f4b90dd50f7 - dockerImageTag: 0.9.0-rc.1 + dockerImageTag: 0.9.0-rc.2 dockerRepository: airbyte/source-google-sheets documentationUrl: https://docs.airbyte.com/integrations/sources/google-sheets githubIssueLabel: source-google-sheets diff --git a/airbyte-integrations/connectors/source-google-sheets/poetry.lock b/airbyte-integrations/connectors/source-google-sheets/poetry.lock index 8c351d65c9ea0..d8f7c9aa36063 100644 --- a/airbyte-integrations/connectors/source-google-sheets/poetry.lock +++ b/airbyte-integrations/connectors/source-google-sheets/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "airbyte-cdk" -version = "6.30.0" +version = "6.31.1" description = "A framework for writing Airbyte Connectors." optional = false python-versions = "<3.13,>=3.10" files = [ - {file = "airbyte_cdk-6.30.0-py3-none-any.whl", hash = "sha256:0709d3748e8134562801369f969d3e298b2254c118523c54cc3bca51ddce75ff"}, - {file = "airbyte_cdk-6.30.0.tar.gz", hash = "sha256:82f411df532d1aeb88e5eec2c018e1ae830e5ab3a8bdb0a70be15070159a7b64"}, + {file = "airbyte_cdk-6.31.1-py3-none-any.whl", hash = "sha256:03383f318d6adf4eaf5d971166b0998aa5682d68422be888426ee8367513ffef"}, + {file = "airbyte_cdk-6.31.1.tar.gz", hash = "sha256:71478976338c0a3708e0b560072c7cc771bdf2ae047bfcad9ac1bfabf1aaaa57"}, ] [package.dependencies] diff --git a/airbyte-integrations/connectors/source-google-sheets/pyproject.toml b/airbyte-integrations/connectors/source-google-sheets/pyproject.toml index 0d9eacbe6f03c..17a6e8274792b 100644 --- a/airbyte-integrations/connectors/source-google-sheets/pyproject.toml +++ b/airbyte-integrations/connectors/source-google-sheets/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.9.0-rc.1" +version = "0.9.0-rc.2" name = "source-google-sheets" description = "Source implementation for Google Sheets." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-google-sheets/source_google_sheets/manifest.yaml b/airbyte-integrations/connectors/source-google-sheets/source_google_sheets/manifest.yaml index e8868f0938a45..a2d15a6cc5026 100644 --- a/airbyte-integrations/connectors/source-google-sheets/source_google_sheets/manifest.yaml +++ b/airbyte-integrations/connectors/source-google-sheets/source_google_sheets/manifest.yaml @@ -51,7 +51,7 @@ dynamic_streams: name: "" http_method: GET path: >- - {% if config["spreadsheet_id"] | regex_search("^(https://.*)") %}{{ config["spreadsheet_id"] | regex_search("/([-\\w]{20,})([/]?)") }}{% else %}{{ config["spreadsheet_id"] }}{% endif %}/values:batchGet?ranges={{parameters["sheet_id"]}}!{{stream_partition.start_range}}:{{stream_partition.end_range}}&majorDimension=ROWS&alt=json + {% if config["spreadsheet_id"] | regex_search("^(https://.*)") %}{{ config["spreadsheet_id"] | regex_search("/([-\\w]{20,})([/]?)") }}{% else %}{{ config["spreadsheet_id"] }}{% endif %}/values:batchGet?ranges={{parameters["sheet_id"] | urlencode}}!{{stream_partition.start_range}}:{{stream_partition.end_range}}&majorDimension=ROWS&alt=json error_handler: type: DefaultErrorHandler backoff_strategies: @@ -85,7 +85,7 @@ dynamic_streams: sheet_id: "" http_method: GET path: >- - {% if config["spreadsheet_id"] | regex_search("^(https://.*)") %}{{ config["spreadsheet_id"] | regex_search("/([-\\w]{20,})([/]?)") }}{% else %}{{ config["spreadsheet_id"] }}{% endif %}?includeGridData=true&ranges={{parameters["sheet_id"]}}!1:1&alt=json + {% if config["spreadsheet_id"] | regex_search("^(https://.*)") %}{{ config["spreadsheet_id"] | regex_search("/([-\\w]{20,})([/]?)") }}{% else %}{{ config["spreadsheet_id"] }}{% endif %}?includeGridData=true&ranges={{parameters["sheet_id"] | urlencode}}!1:1&alt=json error_handler: type: CompositeErrorHandler error_handlers: @@ -221,7 +221,7 @@ definitions: description: spreadsheet_id can be either the full url to spreadsheet or the spreadsheet id. http_method: GET path: >- - {% if config["spreadsheet_id"] | regex_search("^(https://.*)") %}{{ config["spreadsheet_id"] | regex_search("/([-\\w]{20,})([/]?)") }}{% else %}{{ config["spreadsheet_id"] }}{% endif %}?includeGridData=true&ranges={{stream_partition.sheet_id}}!1:1&alt=json + {% if config["spreadsheet_id"] | regex_search("^(https://.*)") %}{{ config["spreadsheet_id"] | regex_search("/([-\\w]{20,})([/]?)") }}{% else %}{{ config["spreadsheet_id"] }}{% endif %}?includeGridData=true&ranges={{stream_partition.sheet_id | urlencode}}!1:1&alt=json error_handler: type: CompositeErrorHandler error_handlers: diff --git a/docs/integrations/sources/google-sheets.md b/docs/integrations/sources/google-sheets.md index 5d5e45cc97816..71b7a4c46372c 100644 --- a/docs/integrations/sources/google-sheets.md +++ b/docs/integrations/sources/google-sheets.md @@ -187,7 +187,8 @@ Airbyte batches requests to the API in order to efficiently pull data and respec | Version | Date | Pull Request | Subject | |------------|------------|----------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 0.9.0-rc.1 | 2025-02-03 | [50843](https://github.com/airbytehq/airbyte/pull/50843) | Migrate to low-code | +| 0.9.0-rc.2 | 2025-01-31 | [52671](https://github.com/airbytehq/airbyte/pull/52671) | Fix sheet id encoding | +| 0.9.0-rc.1 | 2025-01-30 | [50843](https://github.com/airbytehq/airbyte/pull/50843) | Migrate to low-code | | 0.8.5 | 2025-01-11 | [44270](https://github.com/airbytehq/airbyte/pull/44270) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | | 0.8.4 | 2024-12-09 | [48835](https://github.com/airbytehq/airbyte/pull/48835) | Implementing integration tests | | 0.7.4 | 2024-09-09 | [45108](https://github.com/airbytehq/airbyte/pull/45108) | Google Sheets API errors now cause syncs to fail |