Skip to content

Conversation

@annalvova05
Copy link
Contributor

@annalvova05 annalvova05 commented Nov 22, 2021

What

Add oauth2.0 support

How

Change spec.json, add MondayOAuthFlow.java.

OAuth Sreenshots of working flow:
monday-1
monday-2

Recommended reading order

  1. spec.json
  2. source.py
  3. MondayOAuthFlow.java

🚨 User Impact 🚨

Are there any breaking changes? If yes, please make sure to include it here and in any changelogs with the 🚨🚨 emoji
What is the end result perceived by the user?

Pre-merge Checklist

Expand the relevant checklist and delete the others.

Updating a connector

Community member or Airbyter

  • 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
    • Changelog updated in docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
  • PR name follows PR naming conventions

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
  • After the new connector version is published, connector version bumped in the seed directory as described here
  • Seed specs have been re-generated by building the platform and committing the changes to the seed spec files, as described here

…oauth # Conflicts: #	airbyte-integrations/connectors/source-monday/source_monday/source.py
@annalvova05 annalvova05 self-assigned this Nov 22, 2021
@github-actions github-actions bot added the area/connectors Connector related issues label Nov 22, 2021
@annalvova05 annalvova05 linked an issue Nov 22, 2021 that may be closed by this pull request
@annalvova05
Copy link
Contributor Author

annalvova05 commented Nov 23, 2021

/test connector=connectors/source-monday

🕑 connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1494480389
✅ connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1494480389
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 75 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 38 27 29% 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 62 25 60% source_acceptance_test/utils/connector_runner.py 82 49 40% source_acceptance_test/utils/json_schema_helper.py 115 14 88% ------------------------------------------------------------------------ TOTAL 896 440 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_monday/__init__.py 2 0 100% source_monday/source.py 94 42 55% ----------------------------------------------- TOTAL 96 42 56% 
@jrhizor jrhizor temporarily deployed to more-secrets November 23, 2021 11:17 Inactive
@annalvova05 annalvova05 marked this pull request as ready for review November 23, 2021 11:41
@annalvova05
Copy link
Contributor Author

annalvova05 commented Dec 1, 2021

/test connector=connectors/source-monday

🕑 connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1525783945
✅ connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1525783945
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 75 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 38 27 29% 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 62 25 60% source_acceptance_test/utils/connector_runner.py 82 49 40% source_acceptance_test/utils/json_schema_helper.py 115 14 88% ------------------------------------------------------------------------ TOTAL 896 440 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_monday/__init__.py 2 0 100% source_monday/source.py 81 38 53% ----------------------------------------------- TOTAL 83 38 54% 
@annalvova05 annalvova05 temporarily deployed to more-secrets December 1, 2021 12:36 Inactive
@jrhizor jrhizor temporarily deployed to more-secrets December 1, 2021 12:37 Inactive
@annalvova05 annalvova05 requested a review from midavadim December 1, 2021 12:56
…oauth # Conflicts: #	airbyte-integrations/connectors/source-monday/source_monday/spec.json
@annalvova05 annalvova05 temporarily deployed to more-secrets December 20, 2021 11:33 Inactive
@annalvova05 annalvova05 temporarily deployed to more-secrets December 23, 2021 11:06 Inactive
@annalvova05
Copy link
Contributor Author

annalvova05 commented Dec 23, 2021

/test connector=connectors/source-monday

🕑 connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1615291077
✅ connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1615291077
Python tests coverage:

 ---------- 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 89 64 28% 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/cdk/utils/event_timing.py 47 3 94% 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 15 55% base_python/schema_helpers.py 56 41 27% base_python/source.py 51 34 33% main_dev.py 3 3 0% -------------------------------------------------------------- TOTAL 713 397 44% ---------- coverage: platform linux, python 3.8.10-final-0 ----------- Name Stmts Miss Cover ----------------------------------------------- source_monday/__init__.py 2 0 100% source_monday/source.py 81 38 53% ----------------------------------------------- TOTAL 83 38 54% ---------- 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 6 92% source_acceptance_test/conftest.py 109 109 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 242 96 60% source_acceptance_test/tests/test_full_refresh.py 38 0 100% 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 54 17 69% source_acceptance_test/utils/compare.py 62 23 63% source_acceptance_test/utils/connector_runner.py 110 48 56% source_acceptance_test/utils/json_schema_helper.py 115 14 88% ------------------------------------------------------------------------ TOTAL 979 404 59% 

Python short test summary info:

=========================== short test summary info ============================ SKIPPED [1] ../usr/local/lib/python3.7/site-packages/source_acceptance_test/plugin.py:56: Skipping TestIncremental.test_two_sequential_reads because not found in the config ================== 14 passed, 1 skipped in 127.38s (0:02:07) =================== 
…oauth # Conflicts: #	airbyte-oauth/src/main/java/io/airbyte/oauth/OAuthImplementationFactory.java
@annalvova05 annalvova05 temporarily deployed to more-secrets December 23, 2021 11:09 Inactive
@annalvova05 annalvova05 requested a review from antixar December 23, 2021 11:11
Copy link
Contributor

@antixar antixar left a comment

Choose a reason for hiding this comment

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

Please add standard Java tests for oauth logic

Comment on lines 23 to 27
"api_token": {
"type": "string",
"title": "Personal Access Token",
"description": "Access Token for making authenticated requests.",
"airbyte_secret": true
Copy link
Contributor

Choose a reason for hiding this comment

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

it is API token or access token?

Comment on lines 17 to 22
"auth_type": {
"type": "string",
"const": "Client",
"enum": ["Client"],
"default": "Client"
},
Copy link
Contributor

Choose a reason for hiding this comment

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

I see only one auth method. where will use this "auth_type" property?

@annalvova05 annalvova05 temporarily deployed to more-secrets December 23, 2021 14:52 Inactive
@annalvova05 annalvova05 requested a review from antixar December 23, 2021 14:56
@github-actions github-actions bot added the area/documentation Improvements or additions to documentation label Dec 23, 2021
@annalvova05 annalvova05 temporarily deployed to more-secrets December 23, 2021 15:11 Inactive
@annalvova05 annalvova05 temporarily deployed to more-secrets December 23, 2021 20:12 Inactive
@annalvova05
Copy link
Contributor Author

annalvova05 commented Dec 23, 2021

/test connector=connectors/source-monday

🕑 connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1616951744
✅ connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1616951744
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 6 92% source_acceptance_test/conftest.py 109 109 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 242 96 60% source_acceptance_test/tests/test_full_refresh.py 38 0 100% 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 54 17 69% source_acceptance_test/utils/compare.py 62 23 63% source_acceptance_test/utils/connector_runner.py 110 48 56% source_acceptance_test/utils/json_schema_helper.py 115 14 88% ------------------------------------------------------------------------ TOTAL 979 404 59% ---------- 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 89 64 28% 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/cdk/utils/event_timing.py 47 3 94% 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 15 55% base_python/schema_helpers.py 56 41 27% base_python/source.py 51 34 33% main_dev.py 3 3 0% -------------------------------------------------------------- TOTAL 713 397 44% ---------- coverage: platform linux, python 3.8.10-final-0 ----------- Name Stmts Miss Cover ----------------------------------------------- source_monday/__init__.py 2 0 100% source_monday/source.py 95 43 55% ----------------------------------------------- TOTAL 97 43 56% 

Python short test summary info:

=========================== short test summary info ============================ SKIPPED [1] ../usr/local/lib/python3.7/site-packages/source_acceptance_test/plugin.py:56: Skipping TestIncremental.test_two_sequential_reads because not found in the config ================== 25 passed, 1 skipped in 127.21s (0:02:07) =================== 
@jrhizor jrhizor temporarily deployed to more-secrets December 23, 2021 20:19 Inactive
@annalvova05
Copy link
Contributor Author

@antixar updated

@annalvova05 annalvova05 temporarily deployed to more-secrets December 23, 2021 20:39 Inactive
Copy link
Contributor

@antixar antixar left a comment

Choose a reason for hiding this comment

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

Please publish your changes

@annalvova05
Copy link
Contributor Author

annalvova05 commented Dec 28, 2021

/test connector=connectors/source-monday

🕑 connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1629798408
✅ connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1629798408
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 6 92% source_acceptance_test/conftest.py 109 109 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 242 96 60% source_acceptance_test/tests/test_full_refresh.py 38 0 100% 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 54 17 69% source_acceptance_test/utils/compare.py 62 23 63% source_acceptance_test/utils/connector_runner.py 110 48 56% source_acceptance_test/utils/json_schema_helper.py 115 14 88% ------------------------------------------------------------------------ TOTAL 979 404 59% ---------- coverage: platform linux, python 3.8.10-final-0 ----------- �[32mPASSED�[0m/actions-runner/_work/airbyte/airbyte/airbyte-integrations/bases/base-python/.venv/lib/python3.8/site-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/actions-runner/_work/airbyte/airbyte/airbyte-integrations/bases/base-python/rep-31>': No source for code: '/actions-runner/_work/airbyte/airbyte/airbyte-integrations/bases/base-python/rep-31>'. (couldnt-parse) Name Stmts Miss Cover coverage._warn(msg, slug="couldnt-parse") -------------------------------------------------------------- base_python/__init__.py 13 0 100% /actions-runner/_work/airbyte/airbyte/airbyte-integrations/bases/base-python/.venv/lib/python3.8/site-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/actions-runner/_work/airbyte/airbyte/airbyte-integrations/bases/base-python/rep-32>': No source for code: '/actions-runner/_work/airbyte/airbyte/airbyte-integrations/bases/base-python/rep-32>'. (couldnt-parse) base_python/catalog_helpers.py 10 6 40% base_python/cdk/__init__.py 0 0 100% base_python/cdk/abstract_source.py 89 64 28% 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% coverage._warn(msg, slug="couldnt-parse") 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/cdk/utils/event_timing.py 47 3 94% 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 15 55% base_python/schema_helpers.py 56 41 27% base_python/source.py 51 34 33% main_dev.py 3 3 0% -------------------------------------------------------------- TOTAL 713 397 44% ---------- coverage: platform linux, python 3.8.10-final-0 ----------- Name Stmts Miss Cover ----------------------------------------------- source_monday/__init__.py 2 0 100% source_monday/source.py 95 43 55% ----------------------------------------------- TOTAL 97 43 56% 

Python short test summary info:

=========================== short test summary info ============================ SKIPPED [1] ../usr/local/lib/python3.7/site-packages/source_acceptance_test/plugin.py:56: Skipping TestIncremental.test_two_sequential_reads because not found in the config ================== 25 passed, 1 skipped in 130.13s (0:02:10) =================== 
@jrhizor jrhizor temporarily deployed to more-secrets December 28, 2021 08:37 Inactive
@annalvova05
Copy link
Contributor Author

annalvova05 commented Dec 28, 2021

/publish connector=connectors/source-monday

🕑 connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1629833657
✅ connectors/source-monday https://github.com/airbytehq/airbyte/actions/runs/1629833657

@jrhizor jrhizor temporarily deployed to more-secrets December 28, 2021 08:50 Inactive
@annalvova05 annalvova05 merged commit 069587b into master Dec 28, 2021
@annalvova05 annalvova05 deleted the alvova/8007-monday-oauth branch December 28, 2021 09:03
@annalvova05 annalvova05 temporarily deployed to more-secrets December 28, 2021 09:04 Inactive
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

5 participants