Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎉 New Source: Salesforce Marketing Cloud (Singer) #9080

Closed
wants to merge 2,103 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2103 commits
Select commit Hold shift + click to select a range
875efd7
🎉 SAT: Add assert that output catalog does not have any `$ref` in it …
yevhenii-ldv Nov 30, 2021
1226b6b
Source Shopify: fix for missing `properties` & `items` in schemas (#7…
bazarnov Nov 30, 2021
df4db03
SAT: Implement assert that all fields in all streams contained at lea…
htrueman Nov 30, 2021
8c4899f
Update SAT for `validate_data_points` Test Basic Read option. (#8342)
htrueman Nov 30, 2021
f835fd9
Added temporal build script (#8325)
h7kanna Nov 30, 2021
9a5b6e4
🐛 Source Hubspot: remove 'skip_dynamic_fields' config param (#8329)
grubberr Nov 30, 2021
8cf4b2b
Change synchronisationProgress to synchronizationProgress (#8354)
akawalsky Dec 1, 2021
62132e5
Make spec field required on definitions + remove SpecFetcher usage (#…
lmossman Dec 1, 2021
e767aa6
🐛 📝 DAT: verify that a destination is able to write any ISO8601-compl…
bazarnov Dec 1, 2021
fd3ea39
Source Trello: Pull data only for configured board_ids (#8338)
grubberr Dec 1, 2021
2934566
Fix normalization when un-nesting (#8378)
ChristopheDuong Dec 1, 2021
c4613e7
fix off by one month (#8350)
jrhizor Dec 1, 2021
e2266d7
allow retrieving deleted sources and destinations (#8355)
jrhizor Dec 1, 2021
27da34b
Bump Airbyte version from 0.32.8-alpha to 0.32.9-alpha (#8391)
jrhizor Dec 1, 2021
e7f252a
🐛 Source Mixpanel: fix for `discovery` command takes a very long time…
bazarnov Dec 1, 2021
5e26705
Bump Airbyte version from 0.32.9-alpha to 0.32.10-alpha (#8403)
jrhizor Dec 1, 2021
a1f1d34
🐛 Fix incremental normalization with empty tables (#8394)
ChristopheDuong Dec 1, 2021
ad77ed5
Fix to pass two_sequential_reads test and skip test state_with_abnor…
augan-rymkhan Dec 2, 2021
5dcca20
Better Env Var Organisation. (#8390)
davinchia Dec 2, 2021
7813b96
Better breaking changes instructions.
davinchia Dec 2, 2021
25c3f62
Bump GCS version with avro/parquet timestamp conversion (#8360)
VitaliiMaltsev Dec 2, 2021
51b8a99
Bump Airbyte version from 0.32.10-alpha to 0.32.11-alpha (#8426)
jrhizor Dec 2, 2021
eb7778a
🐛 Source Zenloop: re-add missing seed files (#8299)
alafanechere Dec 2, 2021
60babfd
#7727 source postgres: add several types to integration tests (#7913)
yurii-bidiuk Dec 2, 2021
e0e998b
🐛 Source LinkedIn Ads: hands 429 response status code (#8382)
annalvova05 Dec 2, 2021
fd2c953
Fix casing of Advanced Auth for source-harvest (#8428)
ChristopheDuong Dec 2, 2021
bab88c9
enviroment -> environment (#8436)
alafanechere Dec 2, 2021
92b6f25
upgrade source-harvest definition/specs (#8464)
ChristopheDuong Dec 2, 2021
905d311
Source Amazon Seller Partner: Add GET_SELLER_FEEDBACK_DATA report (#8…
lizdeika Dec 2, 2021
7b16825
adding-prefect-in-roadmap (#8467)
johnlafleur Dec 2, 2021
ffc6a5d
fix: formatting issues (#8435)
harshithmullapudi Dec 2, 2021
cfb7ff1
🎉 Source Facebook pages: updated all empty objects in Page and Post s…
midavadim Dec 2, 2021
aa16fe8
🐛 Source Intercom: backoff for companies' scrolling (#8395)
antixar Dec 2, 2021
ab56400
Allow dev-tagged connectors to always be updateable (#8219)
lmossman Dec 3, 2021
28ed760
Salesforce make `start_date` optional and change format to YYYY-MM-DD…
augan-rymkhan Dec 3, 2021
87ed2df
Get default configured catalog from discover command (#8232)
augan-rymkhan Dec 3, 2021
7590c1f
Fix OAuth Injection (#8482)
ChristopheDuong Dec 3, 2021
c23d4d3
🎉 Destination BigQuery and BigQuery denormalized: Use byte-based buf…
alexandertsukanov Dec 3, 2021
ecb29a2
🐛 Source Google Analytics: Fix issue with custom error and simplify c…
lazebnyi Dec 3, 2021
e520cc6
Revert "🐛 📝 DAT: verify that a destination is able to write any ISO86…
yurii-bidiuk Dec 3, 2021
1b0e9b1
Remove deprecated dependencies for connectors in build.gradle (#8430)
yevhenii-ldv Dec 3, 2021
aaa2753
🎉 Source Python HTTP Tutorial: Migrate to CDK, remove deprecated depe…
yevhenii-ldv Dec 3, 2021
fabdf05
:tada: Snowflake Destination internal staging support (#8253)
VitaliiMaltsev Dec 3, 2021
b9431ca
🎉 Refactor Pokeapi Source to CDK (#8432)
yevhenii-ldv Dec 3, 2021
ea9df61
Rename env vars for better readability. (#8447)
davinchia Dec 3, 2021
4d9d0d3
Format and generate seed resources. (#8493)
davinchia Dec 3, 2021
3796af5
:bug: Validate incorrect handling '\n' symbols in ssh key (#8371)
sashaNeshcheret Dec 3, 2021
4f51179
Bump Airbyte version from 0.32.11-alpha to 0.33.0-alpha (#8497)
jrhizor Dec 3, 2021
286efb0
🎉 Destination GCS: add new region (#8386)
agrass Dec 3, 2021
95ed69b
Publish new GCS region (#8392)
alafanechere Dec 3, 2021
2ce7c5d
🎉 advanced auth impl (#8345)
jamakase Dec 3, 2021
6ade9ad
Bump s3 version to remove excessive logging (#8501)
tuliren Dec 3, 2021
a9faaa0
remove legacy migration code (#8499)
cgardens Dec 3, 2021
832c2c6
Bump Airbyte version from 0.33.0-alpha to 0.33.1-alpha (#8510)
jrhizor Dec 4, 2021
caad8eb
🐛 Fix forgotten rename. (#8511)
davinchia Dec 4, 2021
39eafd7
Bump Airbyte version from 0.33.1-alpha to 0.33.2-alpha (#8512)
jrhizor Dec 4, 2021
6afc577
log the job that is cancelled when pruning zombie jobs (#8514)
cgardens Dec 5, 2021
f69b945
Improve URL creation in the CDK (#8513)
sergei-solonitcyn Dec 5, 2021
ff04e58
Bump Airbyte version from 0.33.2-alpha to 0.33.3-alpha (#8515)
jrhizor Dec 6, 2021
cb6c981
✨ Add data to Trello Card Streams (#8357)
danieldiamond Dec 6, 2021
9c4ba2e
Publishing: Source trello with new additions on cards stream (#8520)
harshithmullapudi Dec 6, 2021
2f9b482
Improve URL creation in the CDK (#8522)
sergei-solonitcyn Dec 6, 2021
8a009f3
added __init__.py file to utils (#8530)
augan-rymkhan Dec 6, 2021
ec8cf35
remove google sheets from oauth disallow list (#8531)
Phlair Dec 6, 2021
d7e2101
:bug: Source-MySql: do not check cdc required param binlog_row_image …
mkhokh-33 Dec 6, 2021
049fbe2
🎉 Source Microsoft Teams: migrate to the CDK
vitaliizazmic Dec 6, 2021
662c04d
Bump Airbyte version from 0.33.3-alpha to 0.33.4-alpha (#8551)
jrhizor Dec 6, 2021
e3f4b24
🎉 Source Recurly: migrate to the CDK
vitaliizazmic Dec 6, 2021
5ae4c8c
Bump versions in spec files for ssh key related connectors (#8549)
sashaNeshcheret Dec 6, 2021
0c4993f
🐛 Source Marketo: Fix timestamp value format issue (#8298)
lazebnyi Dec 6, 2021
bcba806
🎉 Source Retently: add OAuth 2.0 (#8043)
grubberr Dec 6, 2021
95a722a
🎉 Source Iterable: Add email validation to list_users stream method e…
htrueman Dec 6, 2021
9dc8764
Destination Snowflake: Return Standard Loading (#8528)
VitaliiMaltsev Dec 6, 2021
82efe8c
Update specs and fix build (#8560)
tuliren Dec 6, 2021
081a44c
Bump Airbyte version from 0.33.4-alpha to 0.33.5-alpha (#8565)
jrhizor Dec 7, 2021
362f18a
🎉 Source Google Sheets: migrate to the CDK
vitaliizazmic Dec 7, 2021
79674f9
CDK: #3764 obfuscate secrets in logging (#8211)
eliziario Dec 7, 2021
0d24acf
Create separate Airbyte Bootloader Application. (#8547)
davinchia Dec 7, 2021
e50d17b
flake8 fix 3764 obfuscate secrets logging (#8583)
eliziario Dec 7, 2021
c1b52b2
🎉 New Source: Mailgun (#8056)
sergei-solonitcyn Dec 7, 2021
92f22c9
🐛 Source Salesforce: filter 'null' byte(s) in HTTP responses (#8405)
grubberr Dec 7, 2021
780a14f
fix(mongodb-v2): set logging to debug when field list is out of sync …
joelluijmes Dec 7, 2021
bee7f9d
MongoDB limit 10k records during Discovery(#8491)
joelluijmes Dec 7, 2021
c49fde8
Source Google Analytics: update source spec and documentation (#8571)
alafanechere Dec 7, 2021
5a1b290
format files (#8601)
marcosmarxm Dec 7, 2021
e7fa2c9
CDK: Add base pydantic model for connector config and schemas (#8485)
keu Dec 7, 2021
0578628
Source Typeform: fix check connection authenticator loop (#8466)
brebuanirello-equinix Dec 8, 2021
341c4e8
Source BigCommerce: change dates comparison (#8416)
jacqueskpoty Dec 8, 2021
4d1941e
Source Shopify: Add `Shop` stream (#8297)
cobobrien Dec 8, 2021
696820e
Refactor how we configure and build cloud storage clients in CloudLog…
cgardens Dec 8, 2021
7aa5818
upgrade temporal sdk to 1.6.0 (#8600)
jrhizor Dec 8, 2021
60d7a26
Update platform containers to use non-root users (#7872)
Dracyr Dec 8, 2021
a9da12d
Revert "Update platform containers to use non-root users (#7872)" (#8…
jrhizor Dec 8, 2021
19f702d
Source Github: Retry connection using HTTPAdapter (#8518)
augan-rymkhan Dec 8, 2021
2d849ac
🐛 Source Intercom: Fix conversations order and sorting (#8579)
lazebnyi Dec 8, 2021
62f1df6
Use throwable for tryDeserialise. (#8631)
davinchia Dec 8, 2021
deac7e5
Redirect dbt log files to airbyte log when failing (#8621)
ChristopheDuong Dec 8, 2021
d9e0aaf
split up insertions into batches of 100 when importing archived table…
lmossman Dec 8, 2021
bcbe2bc
Prevent deadlock when importing database (#8648)
lmossman Dec 8, 2021
93193cf
update Upgrading Airbyte doc to point to patch version of 0.32.0 (#8650)
lmossman Dec 9, 2021
c64f4ec
🎉 Sources Appstore Singer: refactor to use the cdk
vitaliizazmic Dec 9, 2021
25be691
Add resource requirements to sidecars. (#8652)
davinchia Dec 9, 2021
e7e15cb
Use python:3.10-slim in code-generator (#8647)
alafanechere Dec 9, 2021
3ed1f1f
Bump Airbyte version from 0.33.5-alpha to 0.33.6-alpha (#8653)
jrhizor Dec 9, 2021
f7f11d2
Remove status link from oss version (#8502)
jamakase Dec 9, 2021
36fae6e
Stricter logging configuration checks. (#8660)
davinchia Dec 9, 2021
64c2a2f
Add listAttemptsWithJobs to job persistence (#8566)
lmossman Dec 9, 2021
8b3b82c
Bump Airbyte version from 0.33.6-alpha to 0.33.7-alpha (#8663)
jrhizor Dec 9, 2021
235428d
🐛 Source TikTok Marketing: fix incremental bug + new reports' stream…
antixar Dec 9, 2021
152beac
🐛Source Google ads: connector doesn't pull data for today (#8225)
annalvova05 Dec 9, 2021
2495250
🐛 Source Google Analytics V4: Fix window in days validation issue (#8…
lazebnyi Dec 9, 2021
ca41370
🐛 Fix logging test. (#8677)
davinchia Dec 9, 2021
b8f2151
:tada: Destination Amazon SQS: New connector (#7503)
sdairs Dec 9, 2021
675e9b0
Docs: Update connector list (#8683)
marcosmarxm Dec 9, 2021
1772516
fix: added some acceptance tests just to have some basic stuff (#8679)
harshithmullapudi Dec 9, 2021
2ba643a
Docs: add Prefect tutorial (#8664)
marcosmarxm Dec 9, 2021
e25d89e
airbyte-8585 Template for bug-fix PR (#8603)
sergei-solonitcyn Dec 9, 2021
4917170
bump log4j2 version (#8687)
jrhizor Dec 10, 2021
133528e
Bump Airbyte version from 0.33.7-alpha to 0.33.8-alpha (#8688)
jrhizor Dec 10, 2021
fd32a10
🐛 Source Amplitude: Fix response typos (#8659)
danieldiamond Dec 10, 2021
b0a0508
7947 Add a necessary -r fEsx flag to SAT Dockerfile (#8691)
Zirochkaa Dec 10, 2021
271ed41
Update fields in source-connectors specifications: smartsheets, squar…
igrankova Dec 10, 2021
b9a056a
Fix oauth input params (#8680)
jamakase Dec 10, 2021
25221bf
Add info about skipped failed tests in /test command message (#8654)
Zirochkaa Dec 10, 2021
fbd642b
:tada: Updated ci performance test sh script (#8701)
andriikorotkov Dec 10, 2021
e7c3413
upgrade jaxb and jackson versions (#8706)
jrhizor Dec 10, 2021
f192d45
Update google-sheets.md
sherifnada Dec 10, 2021
72c76dc
Bump Airbyte version from 0.33.8-alpha to 0.33.9-alpha (#8707)
jrhizor Dec 10, 2021
3b4809e
State Storage for new Scheduler (#8613)
cgardens Dec 10, 2021
bc0a4f3
Pipe through env variables for state storage (#8614)
cgardens Dec 10, 2021
119709b
🐛 Source Intercom: switching from scroll to standard endpoints (#8637)
antixar Dec 10, 2021
e1bd470
fail zombie job attempts and add failure reason (#8709)
lmossman Dec 10, 2021
429fb67
bump gcp dependencies to pick up grpc update (#8713)
jrhizor Dec 10, 2021
728694b
Bump Airbyte version from 0.33.9-alpha to 0.33.10-alpha (#8714)
jrhizor Dec 10, 2021
bd69822
Change CDK "Caching" header to "nested streams & caching"
sherifnada Dec 10, 2021
7dd4a74
Update fields in source-connectors specifications: file, freshdesk, g…
igrankova Dec 10, 2021
1e282cb
move S3Config into destination-s3; update dependencies accordingly (#…
edgao Dec 10, 2021
dabb6c8
do not run excluded tags in integration tests (#8715)
cgardens Dec 11, 2021
049eb06
upgrade to Gradle 7.3.1 / Java 17 (#7964)
jrhizor Dec 11, 2021
b201955
Bump connector versions for publishing (#8717)
edgao Dec 11, 2021
a6b419a
Upgrade start runner to v2.3.0. (#8703)
davinchia Dec 11, 2021
1be15a0
🎉 Source MySQL: support all MySQL 8.0 types (#7970)
tuliren Dec 12, 2021
ee181bc
Add more tests for json logical type conversion (#8725)
tuliren Dec 12, 2021
8c2bb71
🐛 Increase sidecar memory. (#8727)
davinchia Dec 12, 2021
926d7e9
Bump Airbyte version from 0.33.10-alpha to 0.33.11-alpha (#8728)
jrhizor Dec 12, 2021
39a93de
Source MySQL\MsSql\Postgres: added RDS base performance tests (#8215)
etsybaev Dec 12, 2021
2688280
Added benchmarks scripts with small instruction (#8529)
andriikorotkov Dec 12, 2021
ca06df5
Bump the minor version for mysql source (#8731)
tuliren Dec 13, 2021
a6ebad8
Update fields in source-connectors specifications: mysql, onesignal, …
igrankova Dec 13, 2021
d7a6ffc
:tada: Source Mailchimp: updated Mailchimp schemas (#7975)
VitaliiMaltsev Dec 13, 2021
96e9c70
🐛 Helm chart: Allow writing logs to S3 easily (#8736)
vnourdin Dec 13, 2021
e826b2b
Created Generic MariaDBTestContainer (#8692)
VitaliiMaltsev Dec 13, 2021
d3bebb9
Remove multi-node test for Kube Acceptance Test. (#8737)
davinchia Dec 13, 2021
4ea1137
Source Oracle update docker images for integration tests (#8693)
VitaliiMaltsev Dec 13, 2021
15d3eb4
:tada: Updated ci performance test sh script (#8739)
andriikorotkov Dec 13, 2021
8c42808
:tada: Updated ci performance test sh script (#8740)
andriikorotkov Dec 13, 2021
5b0791f
:tada: Updated ci performance test sh script (#8741)
andriikorotkov Dec 13, 2021
702f165
Add google cloud storage configuration in helm chart (#8332)
Nmaxime Dec 13, 2021
7704d2d
:tada: Updated ci performance test sh script (#8751)
andriikorotkov Dec 13, 2021
b7525c5
add OAuth 2.0 for microsoft_teams source connector (#7807)
grubberr Dec 13, 2021
a5e7a30
format files (#8756)
marcosmarxm Dec 13, 2021
7b0e22d
Publish source: new streams are added in google ads (#8521)
harshithmullapudi Dec 13, 2021
7de78de
🐛 CDK: Fix the logging of unhandled exceptions to show stacktrace (#8…
keu Dec 13, 2021
d8e34f0
🎉 New destination: RabbitMQ (#7560)
lgomezm Dec 13, 2021
d4e6200
🎉 New Destination: ClickHouse (#7620)
burmecia Dec 13, 2021
6d7a201
Update Oracle Deploy Instructions docs (#8164)
shadabshaukat Dec 13, 2021
f26425b
🎉 New CDK: Dotnet/.NET/C# implementation + free exchange rates sourc…
mrhamburg Dec 13, 2021
3e28452
🎉 Source Klaviyo: improve performance and make Global Exclusions stre…
keu Dec 13, 2021
3f8785a
Source Woocommerce: advanced date checking incremental function (#8417)
jacqueskpoty Dec 13, 2021
eaf82f3
:tada: Updated ci performance test sh script (#8769)
andriikorotkov Dec 14, 2021
f1cf07a
:tada: Updated ci performance test sh script (#8771)
andriikorotkov Dec 14, 2021
d850d4e
:tada: Updated ci performance test sh script (#8772)
andriikorotkov Dec 14, 2021
09d7c0c
:tada: Updated ci performance test sh script (#8774)
andriikorotkov Dec 14, 2021
da54df0
Switch to use Bootloader. (#8584)
davinchia Dec 14, 2021
78c1256
Revert "Switch to use Bootloader. (#8584)" (#8778)
davinchia Dec 14, 2021
634a059
Update to Log4J 2.16. (#8779)
davinchia Dec 14, 2021
e107196
🎉 Source Freshdesk: migrate to CDK
vitaliizazmic Dec 14, 2021
5fdd038
Bump Airbyte version from 0.33.11-alpha to 0.33.12-alpha (#8787)
jrhizor Dec 14, 2021
451f64f
🐛 Source Intercom: stop using time.sleep as a hacky rate limit (#8685)
bkrausz Dec 14, 2021
99ff2b3
Update _helpers.tpl (#8776)
cina-pm Dec 14, 2021
780437c
Bump lxml in /airbyte-integrations/connectors/source-file (#8758)
dependabot[bot] Dec 14, 2021
0cd2fee
update chargify documentation (#8764)
maciej-nedza Dec 15, 2021
5d05d25
Revert "Revert "Switch to use Bootloader. (#8584)" (#8778)" (#8790)
davinchia Dec 15, 2021
67b0614
:tada: Updated ci performance test sh script (#8780)
andriikorotkov Dec 15, 2021
e6ab8ec
🎉 CI secrets: full migration to GSM (#8561)
antixar Dec 15, 2021
3540cb1
🎉 SAT: fix of stdout reading (#8743)
antixar Dec 15, 2021
3f43a5c
🎉 New Destination: Rockset (#8006)
sbaldwin-rs Dec 15, 2021
c3a27dd
🐛 Source Marketo: improve field conversion to conform schema (#8483)
grubberr Dec 15, 2021
542dfbf
🐛 SAT: incorrect package setup (#8813)
antixar Dec 15, 2021
3fa824d
🐛 Source Hubspot: additionalProperties: true (#8658)
grubberr Dec 15, 2021
dec9bee
🐛 Source: Strava: support OAuth 2.0 (#8799)
grubberr Dec 15, 2021
91e6954
Destination Rockset: format code (#8821)
alafanechere Dec 15, 2021
d23be28
🐛Source Google Analytics v4: fix date format (#8656)
annalvova05 Dec 15, 2021
2a23d02
🎉 New Source: OpenWeather (#7434)
alafanechere Dec 15, 2021
f5e3566
Tweak connections doc formatting for clarity (#8822)
edgao Dec 15, 2021
1048c79
🐛 [8783] Fix Broken HelmCharts v0.33.11 (#8784)
mohamagdy Dec 16, 2021
99faaf3
fix KubePodProcess port offering race condition (#8804)
jrhizor Dec 16, 2021
1824f53
remove unused secret (#8828)
jrhizor Dec 16, 2021
b16e10f
increase reliability of frontend and kubernetes tests (#8827)
jrhizor Dec 16, 2021
7c952be
Update release script to accommodate new env vars. (#8831)
davinchia Dec 16, 2021
5c3443d
Update more scripts. (#8833)
davinchia Dec 16, 2021
115cd34
Bump Airbyte version from 0.33.12-alpha to 0.34.0-alpha (#8834)
jrhizor Dec 16, 2021
b1c7a11
BigQuery locations update (#8816)
ChristopheDuong Dec 16, 2021
4246b19
Destination Snowflake: update check method to verify permissions for …
VitaliiMaltsev Dec 16, 2021
a52fba0
Source Amazon Seller Partner: Add GET_BRAND_ANALYTICS_SEARCH_TERMS_RE…
lizdeika Dec 16, 2021
face118
Harshith/test pr 8179 (#8836)
harshithmullapudi Dec 16, 2021
aa67bbb
fix secretGenerator (#8839)
wallies Dec 16, 2021
6066fa0
update prefect-task documentation (#8835)
jzcruiser Dec 16, 2021
d4edc0f
Airbyte CDK: Log http status code and content in backoff handlers (#8…
augan-rymkhan Dec 16, 2021
942e8ca
:bug: Source Paypal Transaction: report full error message details, u…
midavadim Dec 16, 2021
8a9a6c2
🐛 Source Shopify: fix for mismatched number of tables during normaliz…
bazarnov Dec 16, 2021
270ebc5
Update fields in source-connectors specifications: drift, harvest, hu…
ycherniaiev Dec 16, 2021
258295b
remove validation from source delete (#8724)
cgardens Dec 16, 2021
fca3f40
Source Linnworks: improve streams ProcessedOrders and ProcessedOrderD…
monai Dec 16, 2021
8eef497
fix destination-snowflake build for jdk17 (#8854)
edgao Dec 16, 2021
b586e10
Adds Amazon SQS and Lemlist source connectors in connector list (#8796)
marcosmarxm Dec 16, 2021
b4ba545
✨ Source Facebook Marketing: Added fields in campaign schema (#8257)
mlavoie-sm360 Dec 16, 2021
c070a15
Add acceptance tests for source close timeout (#8217)
lmossman Dec 16, 2021
68c76c4
Jamkase/workspace slug (#8734)
jamakase Dec 16, 2021
9378801
Remove nested secret (#8859)
benmoriceau Dec 17, 2021
63eb203
🎉 Destination Redshift (copy): accept bucket path for staging data (#…
edgao Dec 17, 2021
cdf8cee
Bump Airbyte version from 0.34.0-alpha to 0.34.1-alpha (#8860)
jrhizor Dec 17, 2021
a460368
Change copy to add in dockerfiles to reduce container size (#8516)
haoranyu Dec 17, 2021
a863cee
🎉 Source Zendesk Support: Adds Brands, CustomRoles and Schedules (#8616)
asyarif93 Dec 17, 2021
25cc2cf
📝 Update json to avro conversion doc (#8866)
tuliren Dec 17, 2021
a4a2b84
🎉 SAT: add assert that spec.json file does not have any `$ref` in it …
Zirochkaa Dec 17, 2021
df9e5a7
:tada: Setting CPU and Memory limits for performance tests via github…
andriikorotkov Dec 17, 2021
f5cb7bf
Destination MariaDbColumnstore: update Docker image for acceptance te…
VitaliiMaltsev Dec 17, 2021
9524a9b
🎉 Source Hubspot: Support incremental sync on all possible streams (#…
lazebnyi Dec 17, 2021
87765f6
🎉 Source Facebook Marketing: fix schema for 'breakdowns' fields (#8742)
grubberr Dec 17, 2021
67fb47d
🐛 SAT: fix logs slicing (#8848)
antixar Dec 17, 2021
9b87c8a
Bumps lxml from 4.6.3 to 4.6.5. (#8845)
grubberr Dec 17, 2021
3ab3cd2
Jamakase/add workspaces word to url (#8878)
jamakase Dec 17, 2021
391668d
🎉 Destination Redshift: add option to enable/disable deleting staging…
edgao Dec 17, 2021
2bad693
Update changelog 2021-25-11 (#8247)
alafanechere Dec 17, 2021
9cebe9d
🎉 Source Zendesk Support: use cursor-based pagination (#8622)
asyarif93 Dec 17, 2021
418dd6d
🎉 Source Facebook Marketing: Add the option to fetch thumbnail image …
zestyping Dec 17, 2021
bceea45
add container orchestrator in feature flag (#8015)
jrhizor Dec 18, 2021
f087f9f
make sure that all the secrets are remove (#8881)
benmoriceau Dec 18, 2021
e5e3ed4
🎉 Testing destination: multiple logging modes (#8824)
tuliren Dec 19, 2021
ef96d30
Extend bootloader for Cloud. (#8879)
davinchia Dec 19, 2021
a31d4fb
Bump Airbyte version from 0.34.1-alpha to 0.34.2-alpha (#8901)
jrhizor Dec 19, 2021
d26e314
allow serializing to yaml without quoting strings (#8896)
cgardens Dec 19, 2021
b3762d6
🐞 Destination e2e test: fix documentation url (#8905)
tuliren Dec 20, 2021
f400dd6
🎉 Source Postgres: support all Postgres 14 types (#8726)
tuliren Dec 20, 2021
c91d6a4
Remove jobs and attempts tables from exported archive (#8646)
alafanechere Dec 20, 2021
4ed2d60
airbyte-e2e-testing => airbyte-webapp-e2e-tests (#8892)
cgardens Dec 20, 2021
dde7c34
tests pass
Dec 23, 2021
7d1c7da
Merge branch 'mc_singer_source' of github.com:schlattk/airbyte into m…
schlattk Jan 4, 2022
e5fcce2
dockerfile
schlattk Jan 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
*
!Dockerfile
!Dockerfile.test
!main.py
!source_sf_marketingcloud_singer
!setup.py
!secrets
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NEW_SOURCE_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM python:3.7-slim

# Bash is installed for more convenient debugging.
RUN apt-get update -y && apt-get install -y bash && apt-get install -y gcc && apt-get install -y git && rm -rf /var/lib/apt/lists/*

WORKDIR /airbyte/integration_code
COPY source_sf_marketingcloud_singer ./source_sf_marketingcloud_singer
COPY main.py ./
COPY setup.py ./
RUN pip install .


ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]

LABEL io.airbyte.version=0.1.0
LABEL io.airbyte.name=airbyte/source-sf-marketingcloud
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Source Sf Marketingcloud Singer

This is the repository for the Sf Marketingcloud source connector, based on a Singer tap.
For information about how to use this connector within Airbyte, see [the User Documentation](https://docs.airbyte.io/integrations/sources/sf-marketingcloud).

## Local development

### Prerequisites
**To iterate on this connector, make sure to complete this prerequisites section.**

#### Minimum Python version required `= 3.7.0`

#### Build & Activate Virtual Environment and install dependencies
From this connector directory, create a virtual environment:
```
python -m venv .venv
```

This will generate a virtualenv for this module in `.venv/`. Make sure this venv is active in your
development environment of choice. To activate it from the terminal, run:
```
source .venv/bin/activate
pip install -r requirements.txt
```
If you are in an IDE, follow your IDE's instructions to activate the virtualenv.

Note that while we are installing dependencies from `requirements.txt`, you should only edit `setup.py` for your dependencies. `requirements.txt` is
used for editable installs (`pip install -e`) to pull in Python dependencies from the monorepo and will call `setup.py`.
If this is mumbo jumbo to you, don't worry about it, just put your deps in `setup.py` but install using `pip install -r requirements.txt` and everything
should work as you expect.

#### Building via Gradle
From the Airbyte repository root, run:
```
./gradlew :airbyte-integrations:connectors:source-sf-marketingcloud:build
```

#### Create credentials
**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.io/integrations/sources/sf-marketingcloud)
to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_sf_marketingcloud_singer/spec.json` file.
Note that the `secrets` directory is gitignored by default, so there is no danger of accidentally checking in sensitive information.
See `integration_tests/sample_config.json` for a sample config file.

**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source sf-marketingcloud test creds`
and place them into `secrets/config.json`.

### Locally running the connector
```
python main.py spec
python main.py check --config secrets/config.json
python main.py discover --config secrets/config.json
python main.py read --config secrets/config.json --catalog integration_tests/configured_catalog.json
```

### Locally running the connector docker image

#### Build
First, make sure you build the latest Docker image:
```
docker build . -t airbyte/source-sf-marketingcloud-singer:dev
```

You can also build the connector image via Gradle:
```
./gradlew :airbyte-integrations:connectors:source-sf-marketingcloud:airbyteDocker
```
When building via Gradle, the docker image name and tag, respectively, are the values of the `io.airbyte.name` and `io.airbyte.version` `LABEL`s in
the Dockerfile.

#### Run
Then run any of the connector commands as follows:
```
docker run --rm airbyte/source-sf-marketingcloud-singer:dev spec
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-sf-marketingcloud-singer:dev check --config /secrets/config.json
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-sf-marketingcloud-singer:dev discover --config /secrets/config.json
docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-sf-marketingcloud-singer:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json
```
## Testing
Make sure to familiarize yourself with [pytest test discovery](https://docs.pytest.org/en/latest/goodpractices.html#test-discovery) to know how your test files and methods should be named.
First install test dependencies into your virtual environment:
```
pip install .[tests]
```
### Unit Tests
To run unit tests locally, from the connector directory run:
```
python -m pytest unit_tests
```

### Integration Tests
There are two types of integration tests: Acceptance Tests (Airbyte's test suite for all source connectors) and custom integration tests (which are specific to this connector).
#### Custom Integration tests
Place custom tests inside `integration_tests/` folder, then, from the connector root, run
```
python -m pytest integration_tests
```
#### Acceptance Tests
Customize `acceptance-test-config.yml` file to configure tests. See [Source Acceptance Tests](source-acceptance-tests.md) for more information.
If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py.
To run your integration tests with acceptance tests, from the connector root, run
```
python -m pytest integration_tests -p integration_tests.acceptance
```
To run your integration tests with docker

### Using gradle to run tests
All commands should be run from airbyte project root.
To run unit tests:
```
./gradlew :airbyte-integrations:connectors:source-sf-marketingcloud-singer:unitTest
```
To run acceptance and custom integration tests:
```
./gradlew :airbyte-integrations:connectors:source-sf-marketingcloud-singer:integrationTest
```

## Dependency Management
All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development.
We split dependencies between two groups, dependencies that are:
* required for your connector to work need to go to `MAIN_REQUIREMENTS` list.
* required for the testing need to go to `TEST_REQUIREMENTS` list

### Publishing a new version of the connector
You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what?
1. Make sure your changes are passing unit and integration tests.
1. Bump the connector version in `Dockerfile` -- just increment the value of the `LABEL io.airbyte.version` appropriately (we use [SemVer](https://semver.org/)).
1. Create a Pull Request.
1. Pat yourself on the back for being an awesome contributor.
1. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# See [Source Acceptance Tests](https://docs.airbyte.io/connector-development/testing-connectors/source-acceptance-tests-reference)
# for more information about how to configure these tests
connector_image: airbyte/source-sf-marketingcloud-singer:dev
tests:
spec:
- spec_path: "source_sf_marketingcloud_singer/spec.json"
connection:
- config_path: "secrets/config.json"
status: "succeed"
discovery:
- config_path: "secrets/config.json"
basic_read:
# configured for events table
- config_path: "secrets/config.json"
configured_catalog_path: "integration_tests/configured_catalog.json"
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env sh

# Build latest connector image
docker build . -t $(cat acceptance-test-config.yml | grep "connector_image" | head -n 1 | cut -d: -f2)

# Pull latest acctest image
docker pull airbyte/source-acceptance-test:latest

# Run
docker run --rm -it \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp:/tmp \
-v $(pwd):/test_input \
airbyte/source-acceptance-test \
--acceptance-test-config /test_input

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
plugins {
id 'airbyte-python'
id 'airbyte-docker'
id 'airbyte-source-acceptance-test'
}

airbytePython {
moduleDirectory 'source_sf_marketingcloud_singer'
}

dependencies {
implementation files(project(':airbyte-integrations:bases:source-acceptance-test').airbyteDocker.outputs)
implementation files(project(':airbyte-integrations:bases:base-singer').airbyteDocker.outputs)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# MIT License
#
# Copyright (c) 2020 Airbyte
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#
# Copyright (c) 2021 Airbyte, Inc., all rights reserved.
#


import pytest

pytest_plugins = ("source_acceptance_test.plugin",)


@pytest.fixture(scope="session", autouse=True)
def connector_setup():
"""This fixture is a placeholder for external resources that acceptance test might require."""
yield
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"streams": [
{
"stream": {
"name": "email",
"json_schema": {}
},
"sync_mode": "full_refresh",
"destination_sync_mode": "append"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

{
"client_id": "fake-client-id",
"client_secret": "fake-client-secret",
"tenant_subdomain": "fake-domain",
"start_date": "2021-10-06T00:00:00Z",
"request_timeout": 900,
"batch_size": 2500,

"pagination__sent_interval_quantity": 10,
"pagination__click_interval_quantity": 30,
"pagination__open_interval_quantity": 30,
"pagination__bounce_interval_quantity": 30,
"pagination__unsub_interval_quantity": 30,
"pagination__list_subscriber_interval_quantity": 7
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"client_id": "",
"client_secret": "",
"tenant_subdomain": "",
"start_date": "2021-10-06T00:00:00Z",
"request_timeout": 900,
"batch_size": 2500,

"pagination__sent_interval_quantity": 10,
"pagination__click_interval_quantity": 30,
"pagination__open_interval_quantity": 30,
"pagination__bounce_interval_quantity": 30,
"pagination__unsub_interval_quantity": 30,
"pagination__list_subscriber_interval_quantity": 7
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#
# MIT License
#
# Copyright (c) 2020 Airbyte
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#

import sys

from airbyte_cdk.entrypoint import launch
from source_sf_marketingcloud_singer import SourceSfMarketingcloudSinger

if __name__ == "__main__":
source = SourceSfMarketingcloudSinger()
launch(source, sys.argv[1:])
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This file is autogenerated -- only edit if you know what you are doing. Use setup.py for declaring dependencies.
-e ../../bases/source-acceptance-test
-e .
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#
# MIT License
#
# Copyright (c) 2020 Airbyte
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#

from setuptools import find_packages, setup

MAIN_REQUIREMENTS = [
"airbyte-cdk",
"Salesforce-FuelSDK==1.3.0",
"suds-py3==1.4.4.1",
"tap-exacttarget==1.6.1",
]

TEST_REQUIREMENTS = [
"pytest~=6.1",
"source-acceptance-test",
]

setup(
name="source_sf_marketingcloud_singer",
description="Source implementation for Sf Marketingcloud, built on the Singer tap implementation.",
author="Airbyte",
author_email="[email protected]",
packages=find_packages(),
install_requires=MAIN_REQUIREMENTS,
package_data={"": ["*.json"]},
extras_require={
"tests": TEST_REQUIREMENTS,
},
)
Loading