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: TikTok Marketing #5887

Merged
merged 23 commits into from
Oct 15, 2021
Merged

Conversation

antixar
Copy link
Contributor

@antixar antixar commented Sep 7, 2021

What

This is the new connector.
Now there are developed the basic streams (Ads, Campaigns, Ad Groups and Advertisers) only. Others will be added after data padding

Pre-merge Checklist

New Connector

Community member or Airbyter

  • Community member? Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • docs/SUMMARY.md
    • docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
    • docs/integrations/README.md
    • airbyte-integrations/builds.md
  • PR name follows PR naming conventions
  • Connector added to connector index like described here

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • Credentials added to Github CI. Instructions.
  • /test connector=connectors/<name> command is passing.
  • New Connector version released on Dockerhub by running the /publish command described here

@antixar antixar self-assigned this Sep 7, 2021
@github-actions github-actions bot added the area/connectors Connector related issues label Sep 7, 2021
@antixar antixar linked an issue Sep 7, 2021 that may be closed by this pull request
@github-actions github-actions bot added the area/documentation Improvements or additions to documentation label Sep 8, 2021
@antixar antixar assigned midavadim and bazarnov and unassigned midavadim and bazarnov Sep 8, 2021
@antixar
Copy link
Contributor Author

antixar commented Sep 10, 2021

/test connector=connectors/source-tiktok-marketing

🕑 connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1221205142
❌ connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1221205142

@jrhizor jrhizor temporarily deployed to more-secrets September 10, 2021 12:30 Inactive
@antixar antixar temporarily deployed to more-secrets September 23, 2021 14:35 Inactive
@antixar
Copy link
Contributor Author

antixar commented Sep 23, 2021

/test connector=connectors/source-tiktok-marketing

🕑 connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1266273573
❌ connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1266273573
🐛 https://gradle.com/s/hyo2jdrfkdg6g

@jrhizor jrhizor temporarily deployed to more-secrets September 23, 2021 14:41 Inactive
@antixar
Copy link
Contributor Author

antixar commented Sep 23, 2021

/test connector=connectors/source-tiktok-marketing

🕑 connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1266323375
❌ connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1266323375
🐛 https://gradle.com/s/klknnrdxs5mcw

@antixar antixar temporarily deployed to more-secrets September 23, 2021 14:55 Inactive
@jrhizor jrhizor temporarily deployed to more-secrets September 23, 2021 14:56 Inactive
Copy link
Contributor

@davinchia davinchia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Almost there. Some small comments I want to figure out first before we merge in.

Can you also go through the checklist again? I think you've completed most of it.

…_tiktok_marketing/spec.py

Co-authored-by: Davin Chia <davinchia@gmail.com>
@antixar antixar temporarily deployed to more-secrets October 12, 2021 16:24 Inactive
@antixar antixar temporarily deployed to more-secrets October 13, 2021 15:50 Inactive
@antixar
Copy link
Contributor Author

antixar commented Oct 13, 2021

/test connector=connectors/source-tiktok-marketing

🕑 connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1338261961
✅ connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1338261961
Python tests coverage:

	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                                 Stmts   Miss  Cover
	 ------------------------------------------------------------------------
	 source_acceptance_test/__init__.py                       2      0   100%
	 source_acceptance_test/base.py                          10      4    60%
	 source_acceptance_test/config.py                        74      8    89%
	 source_acceptance_test/conftest.py                     108    108     0%
	 source_acceptance_test/plugin.py                        47     47     0%
	 source_acceptance_test/tests/__init__.py                 4      0   100%
	 source_acceptance_test/tests/test_core.py              197     93    53%
	 source_acceptance_test/tests/test_full_refresh.py       18     11    39%
	 source_acceptance_test/tests/test_incremental.py        69     38    45%
	 source_acceptance_test/utils/__init__.py                 6      0   100%
	 source_acceptance_test/utils/asserts.py                 37      2    95%
	 source_acceptance_test/utils/common.py                  41     24    41%
	 source_acceptance_test/utils/compare.py                 47     20    57%
	 source_acceptance_test/utils/connector_runner.py        82     49    40%
	 source_acceptance_test/utils/json_schema_helper.py     111     11    90%
	 ------------------------------------------------------------------------
	 TOTAL                                                  853    415    51%
	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                       Stmts   Miss  Cover
	 --------------------------------------------------------------
	 base_python/__init__.py                       13      0   100%
	 base_python/catalog_helpers.py                10      6    40%
	 base_python/cdk/__init__.py                    0      0   100%
	 base_python/cdk/abstract_source.py            83     59    29%
	 base_python/cdk/streams/__init__.py            0      0   100%
	 base_python/cdk/streams/auth/__init__.py       0      0   100%
	 base_python/cdk/streams/auth/core.py           8      1    88%
	 base_python/cdk/streams/auth/jwt.py            5      5     0%
	 base_python/cdk/streams/auth/oauth.py         37     26    30%
	 base_python/cdk/streams/auth/token.py          9      4    56%
	 base_python/cdk/streams/core.py               63     32    49%
	 base_python/cdk/streams/exceptions.py         10      2    80%
	 base_python/cdk/streams/http.py               67     33    51%
	 base_python/cdk/streams/rate_limiting.py      30     14    53%
	 base_python/cdk/utils/__init__.py              0      0   100%
	 base_python/cdk/utils/casing.py                4      0   100%
	 base_python/client.py                         56     33    41%
	 base_python/entrypoint.py                     70     56    20%
	 base_python/integration.py                    52     25    52%
	 base_python/logger.py                         33     19    42%
	 base_python/schema_helpers.py                 56     41    27%
	 base_python/source.py                         51     34    33%
	 main_dev.py                                    3      3     0%
	 --------------------------------------------------------------
	 TOTAL                                        660    393    40%
	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                  Stmts   Miss  Cover
	 ---------------------------------------------------------
	 source_tiktok_marketing/__init__.py       2      0   100%
	 source_tiktok_marketing/source.py        31      8    74%
	 source_tiktok_marketing/spec.py          45     15    67%
	 source_tiktok_marketing/streams.py      151      6    96%
	 ---------------------------------------------------------
	 TOTAL                                   229     29    87%

@antixar antixar temporarily deployed to more-secrets October 13, 2021 15:58 Inactive
@antixar
Copy link
Contributor Author

antixar commented Oct 13, 2021

@davinchia , please check this PR again. I've updated its checklist

@jrhizor jrhizor temporarily deployed to more-secrets October 13, 2021 15:59 Inactive
@Phlair Phlair removed their request for review October 14, 2021 18:24
@antixar antixar temporarily deployed to more-secrets October 15, 2021 15:29 Inactive
@antixar antixar temporarily deployed to more-secrets October 15, 2021 15:53 Inactive
@antixar
Copy link
Contributor Author

antixar commented Oct 15, 2021

/test connector=connectors/source-tiktok-marketing

🕑 connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1346612565
✅ connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1346612565
Python tests coverage:

	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                                 Stmts   Miss  Cover
	 ------------------------------------------------------------------------
	 source_acceptance_test/__init__.py                       2      0   100%
	 source_acceptance_test/base.py                          10      4    60%
	 source_acceptance_test/config.py                        74      8    89%
	 source_acceptance_test/conftest.py                     108    108     0%
	 source_acceptance_test/plugin.py                        47     47     0%
	 source_acceptance_test/tests/__init__.py                 4      0   100%
	 source_acceptance_test/tests/test_core.py              200     94    53%
	 source_acceptance_test/tests/test_full_refresh.py       18     11    39%
	 source_acceptance_test/tests/test_incremental.py        69     38    45%
	 source_acceptance_test/utils/__init__.py                 6      0   100%
	 source_acceptance_test/utils/asserts.py                 37      2    95%
	 source_acceptance_test/utils/common.py                  41     24    41%
	 source_acceptance_test/utils/compare.py                 47     20    57%
	 source_acceptance_test/utils/connector_runner.py        82     49    40%
	 source_acceptance_test/utils/json_schema_helper.py     115     14    88%
	 ------------------------------------------------------------------------
	 TOTAL                                                  860    419    51%
	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                       Stmts   Miss  Cover
	 --------------------------------------------------------------
	 base_python/__init__.py                       13      0   100%
	 base_python/catalog_helpers.py                10      6    40%
	 base_python/cdk/__init__.py                    0      0   100%
	 base_python/cdk/abstract_source.py            83     59    29%
	 base_python/cdk/streams/__init__.py            0      0   100%
	 base_python/cdk/streams/auth/__init__.py       0      0   100%
	 base_python/cdk/streams/auth/core.py           8      1    88%
	 base_python/cdk/streams/auth/jwt.py            5      5     0%
	 base_python/cdk/streams/auth/oauth.py         37     26    30%
	 base_python/cdk/streams/auth/token.py          9      4    56%
	 base_python/cdk/streams/core.py               63     32    49%
	 base_python/cdk/streams/exceptions.py         10      2    80%
	 base_python/cdk/streams/http.py               67     33    51%
	 base_python/cdk/streams/rate_limiting.py      30     14    53%
	 base_python/cdk/utils/__init__.py              0      0   100%
	 base_python/cdk/utils/casing.py                4      0   100%
	 base_python/client.py                         56     33    41%
	 base_python/entrypoint.py                     70     56    20%
	 base_python/integration.py                    52     25    52%
	 base_python/logger.py                         33     19    42%
	 base_python/schema_helpers.py                 56     41    27%
	 base_python/source.py                         51     34    33%
	 main_dev.py                                    3      3     0%
	 --------------------------------------------------------------
	 TOTAL                                        660    393    40%
	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                  Stmts   Miss  Cover
	 ---------------------------------------------------------
	 source_tiktok_marketing/__init__.py       2      0   100%
	 source_tiktok_marketing/source.py        31      8    74%
	 source_tiktok_marketing/spec.py          45     15    67%
	 source_tiktok_marketing/streams.py      151      6    96%
	 ---------------------------------------------------------
	 TOTAL                                   229     29    87%

@jrhizor jrhizor temporarily deployed to more-secrets October 15, 2021 16:01 Inactive
@antixar
Copy link
Contributor Author

antixar commented Oct 15, 2021

/publish connector=connectors/source-tiktok-marketing

🕑 connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1346651579
✅ connectors/source-tiktok-marketing https://github.com/airbytehq/airbyte/actions/runs/1346651579

@jrhizor jrhizor temporarily deployed to more-secrets October 15, 2021 16:12 Inactive
@antixar antixar dismissed Phlair’s stale review October 15, 2021 16:23

was reviewed by Davin before

@antixar antixar merged commit 713fe61 into master Oct 15, 2021
@antixar antixar deleted the antixar/4652-source-tiktok-marketing branch October 15, 2021 16:24
schlattk pushed a commit to schlattk/airbyte that referenced this pull request Jan 4, 2022
* create a new connector folder

* add base classes

* add schemas

* add ads/ad_groups streams

* update tests and docs

* add a bootstrap file

* update the base domain name for API

* update the base domain name for API

* update Dockerfile libs

* remove unused comments

* Update airbyte-integrations/connectors/source-tiktok-marketing/bootstrap.md

Co-authored-by: George Claireaux <george@claireaux.co.uk>

* Update airbyte-integrations/connectors/source-tiktok-marketing/bootstrap.md

Co-authored-by: George Claireaux <george@claireaux.co.uk>

* fix UI error with input parameters

* fix problem with updated state

* Update airbyte-integrations/connectors/source-tiktok-marketing/source_tiktok_marketing/spec.py

Co-authored-by: Davin Chia <davinchia@gmail.com>

* add an unit test

* update README.md

* bump version

Co-authored-by: Maksym Pavlenok <maksym.pavlenok@globallogic.com>
Co-authored-by: George Claireaux <george@claireaux.co.uk>
Co-authored-by: Davin Chia <davinchia@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues area/documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New Source: Tiktok Marketing API
8 participants