1
0
mirror of synced 2025-12-20 10:32:35 -05:00
Commit Graph

46 Commits

Author SHA1 Message Date
Vai Ignatavicius
8f59f03e81 🐛 Source Iterable: Fix schema issues in campaigns, email send, and subscriptions (#67602)
## What
Fixes array column serialization errors in source-iterable streams by
properly defining array item types in JSONSchema definitions.

**Problem:** Array columns (e.g., `campaigns.labels`, `emailListIds`,
`channelIds`, `categories`) were being written as null values to the S3
Data Lake destination with `DESTINATION_SERIALIZATION_ERROR` in the
`_airbyte_meta` column.

**Root Cause:** Multiple stream schemas had array definitions with empty
`items: {}`, which is ambiguous and prevents proper type mapping to
destinations like Iceberg/Glue.

**Affected Streams:**
- `email_unsubscribe` (emailListIds, channelIds)
- `email_send` (categories)
- `email_send_skip` (categories)  
- `email_subscribe` (emailListIds)
- `campaigns` (listIds, suppressionListIds, labels)


## How
Updated JSONSchema definitions across affected stream schema files to
specify explicit item types for all array fields:

**Before:**

```
"emailListIds": {
  "type": ["null", "array"],
  "items": {}  
}
```

After:

```
"emailListIds": {
  "type": ["null", "array"],
  "items": {
    "type": "integer" 
  }
}
```

## Review guide
source_iterable/schemas/campaigns.json - Check listIds,
suppressionListIds, labels
source_iterable/schemas/email_unsubscribe.json - Check emailListIds,
channelIds
source_iterable/schemas/email_send.json - Check categories (in
transactional data)
source_iterable/schemas/email_send_skip.json - Check categories (in
transactional data)
source_iterable/schemas/email_subscribe.json - Check emailListIds

Verify that all "items": {} instances have been replaced with proper
type definitions.

## User Impact
None expected - this is a schema clarification that aligns with actual
data types.

## Can this PR be safely reverted and rolled back?

- [X] YES 💚
- [ ] NO 

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2025-10-10 15:35:00 +01:00
Aaron ("AJ") Steers
83ecbe0fc3 CI: apply pre-commit format fix from #49806 (#49852) 2024-12-18 14:05:43 -08:00
Artem Inzhyyants
bc0b9b9d4a fix(source-iterable): fix OOM errors (#41983)
Signed-off-by: Artem Inzhyyants <artem.inzhyyants@gmail.com>
2024-07-22 12:31:09 +02:00
Christo Grabowski
f310bcde09 Source Iterable: refactor state handling (#39382) 2024-06-17 09:44:39 -04:00
Brian Leonard
b92b3d9e2f source-iterable: ensure inline schemas, updated cdk, poetry (where possible) (#36645)
Co-authored-by: Serhii Lazebnyi <53845333+lazebnyi@users.noreply.github.com>
2024-05-07 15:27:06 +02:00
Serhii Lazebnyi
0c49832980 Source Iterable: Migrate to low code (#36231) 2024-04-15 18:02:47 +02:00
Joe Reuter
e7f503982f source-iterable: Convert to airbyte-lib (#34208) 2024-01-16 10:57:54 +01:00
Dylan Seidt
42b54bbdf2 Source Iterable: add userId to applicable streams (#30931)
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
2024-01-11 14:34:39 -03:00
Augustin
0b33caecda Revert "[skip ci] formatting: add missing license headers (#33250)" (#33289) 2023-12-11 11:38:37 +01:00
Augustin
60c1cc01ad [skip ci] formatting: add missing license headers (#33250) 2023-12-11 10:15:18 +01:00
Marius Posta
f5c7c1c0b8 chore: get ./gradlew format to pass for the whole repo (same java style) (#29786) 2023-08-24 05:09:42 -05:00
Daryna Ishchenko
67381f8678 :bug:Source Iterable: fix type error (#28457)
* added __iter__ to StreamSlice

* updated change log
2023-07-20 10:58:28 +03:00
Serhii Chvaliuk
003ef5fc1e Source: Iterable - read timeout added (#26459)
* read timeout added

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

* iterable.md updated

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

---------

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2023-06-13 12:08:12 +03:00
Serhii Chvaliuk
eff127ee20 Source: Iterable - improve 500 handling for Events stream (#26014)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

---------

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-05-15 20:30:17 +03:00
Roman Yermilov [GL]
56038d0368 Source-Iterable: ignore 500 per slice for ListUsers stream (#24962)
* Source-Iterable: ignore 500 per slice for ListUsers stream

* Source-Iterable: add unittest

* Source-Iterable: fix unittest

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-07 13:52:22 +04:00
Baz
8f7642f432 🐛 Source Iterable: improve retry on 500 - Generic Error (#23938) 2023-03-12 00:20:33 +02:00
Baz
9927b0ccd1 🐛 Source Iterable: add retry for 500 - Generic Error, increase reduce slice max attempts (#23821) 2023-03-09 17:52:40 +02:00
Arsen Losenko
73ae4f22a2 Source Iterable: Mark datefields in spec as dates (#22979)
* Source Iterable: Mark datefields in spec as dates

* Update changelog

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-02 10:11:16 +02:00
Cole Snodgrass
2e099acc52 update headers from 2022 -> 2023 (#22594)
* It's 2023!

* 2022 -> 2023

---------

Co-authored-by: evantahler <evan@airbyte.io>
2023-02-08 13:01:16 -08:00
Ella Rohm-Ensing
842f66f087 Turn off default httpavailabilitystrategy for source-iterable (GA) (#22011)
* Turn off default for source-iterable (GA)

* Update streams.py

* Update iterable.md

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-02-01 17:11:58 +00:00
Serhii Chvaliuk
3c6f9792e5 Source iterable: fix pendulum.parse memory leak (#19913)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-12-02 12:08:58 +02:00
Denys Davydov
d1fb5a289f Source Iterable: distinguish 401 from empty stream (#18537)
* #829 source iterable: distinguish 401 from empty stream

* #829 source iterable: upd changelog

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-27 19:17:47 +03:00
Denys Davydov
848046a158 Source Iterable - better processing of 401 and 429 errors (#18292)
* #829 source iterable - better processing of 401 and 429 errors

* source iterable: upd changelog

* #829 source iterable: fix unit tests

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-25 10:53:32 +03:00
Pedro S. Lopez
938436bcc9 update connector specs and definitions with new .com documentation urls (#17585)
* update definitions with new .com docs urls

* update docs urls in specs

* update generators

* regenerate scaffold connectors

* remove unrelated changes

* update more urls

* update specs

* fix tests

* run `:airbyte-config:specs:generateSeedConnectorSpecs` to fix formatting

* revert docs changes to make pr more reviewable

* revert generator readme changes to make more reviewable

* fix mysql strict encrypt expected spec

* fix postgres expected spec
2022-10-11 11:04:23 -04:00
Artem Inzhyyants
00d1f0d9e1 Source Iterable: Add permission check for stream (#17602)
* Source Iterable: Add permission check for stream

* Source Iterable: docs update

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-06 12:52:57 +02:00
Denys Davydov
5ba79894f2 Source Iterable: use optional end_date for SATs (#17573)
* #17506 source iterable: use optional end_date for SATs

* source iterable: upd changelog

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-05 09:20:08 +03:00
midavadim
7ae67d1b0d 🎉 Source Iterable - added new events streams (#16067)
* increased unit test coverage

* added additional events streams

* updated tests

* bumped connector version, update changelog

* fixed indentations

* api.py and iterable_streams.py merged into one stream.py file

* Fix unit tests

* updated release stage

* fixed import

* Updated version in seed

* auto-bump connector version [ci skip]

* updated source_specs.yaml

Co-authored-by: Serhii Lazebnyi <serhii.lazebnyi@globallogic.com>
Co-authored-by: Serhii Lazebnyi <53845333+lazebnyi@users.noreply.github.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-09-05 23:00:13 +03:00
midavadim
1a7cae0501 🎉 Source Iterable - API key is passed in headers (#15670)
* API key is passed in headers

* updated docs

* removed log

* formatted

* fixed tests

* increased timeout for incremental stream

* bumper source version

* bumper source version in seed

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-08-25 18:11:33 +03:00
Marcos Marx
dca2256a7c Bump 2022 license version (#13233)
* Bump year in license short to 2022

* remove protocol from cdk
2022-05-26 15:00:42 -03:00
Iryna Grankova
fefd5759c8 Update fields in source-connectors specifications: file, freshdesk, github, google-directory, google-workspace-admin-reports, iterable (#8524)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

Co-authored-by: Serhii Chvaliuk <grubberr@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-12-11 01:47:29 +02:00
Vadym
17504e978e 🎉 Source Iterable: Add email validation to list_users stream method execution (#8380)
* Update iterable.md docs.

* Update `Events` stream to use `export/userEvents` endpoint.
Update `events` stream schema.
Add `test_events_parse_response` unit test.

* Update events parse_response data collection.
Update events stream unit tests.
Update events stream schema.

* Bump docker version
2021-12-06 21:07:51 +02:00
Dmytro
cf3be4a441 Iterable adjustable stream slices (#8091) 2021-11-22 15:48:17 +02:00
Marcos Marx
760f429959 Source OneSignal: correct get_update_state and unit test (#7617)
* correct get_update_state and unit test

* bunmp version
2021-11-10 21:28:57 -03:00
Dmytro
6f70b6b423 Iterable: split email send stream into slices. (#7780) 2021-11-10 11:43:45 +02:00
Sherif A. Nada
9ef8626639 🐛Source Iterable: Fix date parsing (#7619) 2021-11-03 22:22:49 -07:00
Dmytro
0c2fcb8749 Fix iterable memory consumption (#7591) 2021-11-03 14:50:30 +02:00
Marcos Marx
825e487bb1 enable campaign_metrics stream (#6856) 2021-10-14 21:45:56 -03:00
Davin Chia
5a3353dcf5 Bootstrap initial custom metrics library (#6529)
Wrapper around Prometheus lib to interface with Datadog.

We use prometheus because:
- Future-proofing as it's uses the general open metrics format.
- Prometheus makes it's metrics available to a scraper to it lends itself better to the OSS set up.
- Datadog automatically converts promethues metrics into dd metrics so we don't lose much.
2021-10-05 21:51:34 +08:00
Arthur Galuza
8dae288f6d 🎉 Source Iterable: add new streams (#5915)
* Add new streams

* Upd requirements versions

* Upd docs

* Remove tests for the templates stream

* Upd csv field parsing

* Fix file permissions

* Set dependency version

* Refactor

* Merge

* Upd licence

* Add bulk metrics retrieving

* Actualize schema
2021-10-04 17:57:29 +03:00
Michel Tricot
1773e41e47 Shorten our headers + adds contributors file (#6478) 2021-09-27 10:45:50 -07:00
Yaroslav Dudar
ff479dedfb 🐛 Source Iterable: Fixed normalization issue (#6242)
fix schema to be able to use normalization
2021-09-24 18:39:07 +03:00
Vadym
588553e647 Source Iterable: update to use latest version of CDK (#3378)
* Requirements updated to CDK.
airbyte-protocol and base-python requirements removed.

* Bugfix: BufferedStreamConsumer. (#3387)

* Format.

* Bump versions.

* main_dev.py renamed to main.py
README.md updated

* Source Stripe: Add Acceptance Tests to Stripe Connector (#3367)

* Add Acceptance Tests to Stripe Connector

* move configured_catalog.json to sample_files

* bump version

Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>

* Legacy lib references removed

* FB Marketing source - lookback window logic not functioning correctly

* FB Marketing source #1390 - returning buffered record while incremental sync

* FB Marketing source #1390 - improving checking while syncing buffered record

* FB Marketing source #1390 - adding loop_back to IncrementalStreamAPI

* FB Marketing source #1390 - bump version

* FB Marketing source #1390 - add CHANGELOG.md

* Stop formatting python with spotless (#3388)

* add test that migration output schema same as source schema (#3356)

* Add updated architecture diagram to high level docs. (#3399)

* Add updated architecture doc to high level docs.

* Address review comments

Co-authored-by: Abhi Vaidyanatha <abhivaidyanatha@Abhis-MacBook-Pro.local>

* Correct GA readme error. (#3407)

* make shopify more resilient to timeouts (#3409)

* Update migration schema to include recent changes to the StandardSync object. (#3414)

* Update all of Pydantic to 1.6.2 per Dependabot. (#3408)

* Update all to 1.6.2.

* Publish new airbyte-cdk version.

* Use repr instead of str for exceptions.

* Use rc.

* Edit test.

* Bump for SAT.

* Format.

* Docker ignore update. Fix setup.py

* fixing ONLY problematic fields in freshdesk JSON schemas (#3376)

* bump airbyte-webapp version (#2266)

* add configuration for bumping webapp versionn

* set to current version

* Bump version: 0.16.0-alpha → 0.16.1-alpha

* Revert "Bump version: 0.16.0-alpha → 0.16.1-alpha"

Thiss reverts commit fdbf6dcaa6.

* also update package lock so we don't run into files changed errors

* use 0.19.0-alpha

* add npm webapp version

* Add a CDK speedrun tutorial doc (#3403)

* Add CDK Speedrun document.

* Finish speedrun doc.

* Address review comments

* Add to SUMMARY.md

Co-authored-by: Abhi Vaidyanatha <abhivaidyanatha@Abhis-MacBook-Pro.local>

* Add Rust as a connector specific dependency to source-file (#3426)

* Add Rust as a connector specific dependency to source-file

* Add more details about installation.

* Markdown lines are weird.

Co-authored-by: Abhi Vaidyanatha <abhivaidyanatha@Abhis-MacBook-Pro.local>

* API update to latest airbyte-cdk version

* Add section Deploy Local on Windows (#3425)

* add deploy on windows steps

* correct minor

* change suggestions by @avaidyanatha

* GitBook: [master] 161 pages and 75 assets modified

* Display icons (#3140)

* Display icons

* Improve icons views

* MS SQL Server Destination implementation

Fixes issue #613.

Normalization is not yet enabled.  This will have to be added at a later point.

* Workflow to handle operations (custom transformation) (#3379)

* Keep normalization backward compatible with old settings from destination

* Bumpversion normalization image

* add npm install before all npm run generates' (#3442)

* restart containers if they fail automatically (#3423)

* Update link for contribution scheduling (#3443)

* Address issue with icon in onboarding (#3437)

* rename toy connector tutorial to "Build a connector the hard way"  (#3421)

* Upload test reports (from integration test slash commands) as GitHub artifacts (#3416)

* Archive test reports in github workflow

* Archive Test reports only when failures

* Fixing SqlServerOperations.java (#3454)

Fixing some issues with `SqlServerOperations`, which was out of sync with recent changes to `SqlOperations`.

* Add redirect to cdk tutorial page (#3456)

* add redirect to cdk tutorial page

* change path to cdk README.md

Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: Yevhenii <34103125+yevhenii-ldv@users.noreply.github.com>
Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
Co-authored-by: vitaliizazmic <75620293+vitaliizazmic@users.noreply.github.com>
Co-authored-by: Charles <giardina.charles@gmail.com>
Co-authored-by: Abhi Vaidyanatha <abhi@airbyte.io>
Co-authored-by: Abhi Vaidyanatha <abhivaidyanatha@Abhis-MacBook-Pro.local>
Co-authored-by: Jared Rhizor <jared@dataline.io>
Co-authored-by: vovavovavovavova <39351371+vovavovavovavova@users.noreply.github.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
Co-authored-by: Marcos Marx <marcos@airbyte.io>
Co-authored-by: Artem Astapenko <3767150+Jamakase@users.noreply.github.com>
Co-authored-by: masonwheeler <masonwheeler@yahoo.com>
Co-authored-by: Christophe Duong <christophe.duong@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
Co-authored-by: Michel Tricot <michel@dataline.io>
2021-05-18 18:26:58 +03:00
Charles
0df53170c9 Stop formatting python with spotless (#3388) 2021-05-13 17:46:34 -07:00
Davin Chia
f660b0a946 Add template generation for Santa aka CDK. (#3034)
Template generation for new Source using the Santa CDK - provide basic scaffolding for someone implementing a new source.

General approach is to buff up comments in the original SDK, and add TODOs with secondary comments in the generated stub methods, as well as links to existing examples (e.g. Stripe or ExchangeRate api) users can look at.

Checked in and added tests for the generated modules.
2021-04-25 18:02:33 +08:00
Charles
f445fdb5b2 match styling for spotlessApply and format (#3017)
* as a java developer I want to be able to run spotlessApply without changing styles in python code
2021-04-23 09:21:41 -07:00
Yevhenii
f8286e4da3 🎉 New Source: Iterable (#2895)
* Source Iterable: support full_refresh/incremental sync (#2412)

Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
Co-authored-by: Sherif Nada <snadalive@gmail.com>
2021-04-20 16:21:17 +03:00