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: ClickUp #17770

Merged
merged 15 commits into from
Nov 13, 2022

Conversation

josix
Copy link
Contributor

@josix josix commented Oct 9, 2022

What

Adding a source connector for ingesting data from the ClickUp by using low-code configuration. (ref)

How

Following the instruction mentioned in tutorials to update clickup_api.yaml, spec.yaml, schemas/*.json, and configured_catalog.json.

Recommended reading order

  1. spec.yaml
  2. clickup_api.yaml
  3. schemas/*.json
  4. configured_catalog.json

Pre-merge Checklist

Expand the relevant checklist and delete the others.

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/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

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
  • If new credentials are required for use in CI, add them to GSM. Instructions.
  • /test connector=connectors/<name> command is passing
  • New Connector version released on Dockerhub by running the /publish command described here
  • After the connector is published, connector added to connector index 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

Tests

Unit

Put your unit tests output here.

Integration

Put your integration tests output here.

Acceptance

image

@CLAassistant
Copy link

CLAassistant commented Oct 9, 2022

CLA assistant check
All committers have signed the CLA.

Copy link
Member

@marcosmarxm marcosmarxm left a comment

Choose a reason for hiding this comment

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

@josix do you need any further assistance here?

Comment on lines 1 to 7
{
"streams": [
{
"name": "TODO fix this file",
"supported_sync_modes": ["full_refresh", "incremental"],
"source_defined_cursor": true,
"default_cursor_field": "column1",
Copy link
Member

Choose a reason for hiding this comment

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

Remove this file.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed at 8a2d8e7ef

@@ -0,0 +1,16 @@
# TODO: Define your stream schemas
Copy link
Member

Choose a reason for hiding this comment

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

Remove this file.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed at 8a2d8e7ef

additionalProperties: true
properties:
# 'TODO: This schema defines the configuration required for the source. This usually involves metadata such as database and/or authentication information.':
Authorization:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Authorization:
api_token:

Please rename to better naming.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for pointing this out. I've updated this.

@josix
Copy link
Contributor Author

josix commented Oct 19, 2022

Hi @marcosmarxm thank you for the reminder and reviewing, I'm still working on that. But I guess I will be off here for around 2-3 days since I'm working on my master's degree oral exam at the same time. I'll continue to create some endpoints for sub-stream and incremental stream. Do you have some documents or examples about these? I think I could have a look before I start to implement. That would be helpful. Thanks a lot.

@marcosmarxm
Copy link
Member

@josix I lost the notification of your message. Do you still need assistance here?

@josix
Copy link
Contributor Author

josix commented Nov 1, 2022

@josix I lost the notification of your message. Do you still need assistance here?

Yes, please. I would start to continue the work this week although the hacktoberfest is gone lol.

@marcosmarxm
Copy link
Member

Because this was submitted before 2-november the PR is eligible to receive the prize.

@marcosmarxm
Copy link
Member

@josix there are some tutorials here: https://docs.airbyte.com/connector-development/config-based/tutorial/getting-started besides that please point what is your question to help your, or enter our Slack and ask for help in #hacktoberfest-2022 channel.

@marcosmarxm
Copy link
Member

Hello! I'm going to be out of the office this Friday and won't be able to review your contribution again today, I return next Monday. So far, most contributions look solid and are almost done to be approved. As said in Chris' comment all contributions made before 2-November are eligible to receive the prize and have 2 weeks to merge the contributions. But I ensure next week we're going to have your contribution merged. If you have questions about the implementation you can send them in #hacktoberfest-2022 in Airbyte's Slack.

Sorry the inconvenience and see you again next week, thank you so much for your contribution!

@josix josix force-pushed the update/integration-source-clickup branch from e01b314 to 8a2d8e7 Compare November 6, 2022 17:18
@josix josix marked this pull request as ready for review November 6, 2022 18:15
@github-actions github-actions bot added the area/documentation Improvements or additions to documentation label Nov 6, 2022
@josix josix requested a review from marcosmarxm November 6, 2022 19:33
@josix
Copy link
Contributor Author

josix commented Nov 6, 2022

Hello @marcosmarxm, thank you for letting me know. I've added docs and removed some redundant files following your comments. Please have a look, thank you!

Copy link
Member

@marcosmarxm marcosmarxm left a comment

Choose a reason for hiding this comment

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

Some considerations

Comment on lines +31 to +32
streams:
- type: DeclarativeStream
Copy link
Member

Choose a reason for hiding this comment

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

@josix are you planning to add more streams? (Tasks, Lists, etc?)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I'll add Tasks stream these days.

Comment on lines 28 to 29
paginator:
type: NoPagination
Copy link
Member

Choose a reason for hiding this comment

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

@marcosmarxm
Copy link
Member

@josix let me know if you need any assistance to finish the changes

@josix
Copy link
Contributor Author

josix commented Nov 11, 2022

@marcosmarxm sorry for late reply, I've added list and task stream, please have a look thanks!

@josix josix requested a review from marcosmarxm November 11, 2022 12:32
@marcosmarxm
Copy link
Member

marcosmarxm commented Nov 11, 2022

/test connector=connectors/source-clickup-api

🕑 connectors/source-clickup-api https://github.com/airbytehq/airbyte/actions/runs/3448097622
✅ connectors/source-clickup-api https://github.com/airbytehq/airbyte/actions/runs/3448097622
Python tests coverage:

	 Name                                                 Stmts   Miss  Cover   Missing
	 ----------------------------------------------------------------------------------
	 source_acceptance_test/base.py                          12      4    67%   16-19
	 source_acceptance_test/config.py                       139      5    96%   87, 93, 235, 239-240
	 source_acceptance_test/conftest.py                     196     92    53%   35, 41-43, 48, 54, 60, 66, 72-74, 93, 98-100, 106-108, 114-115, 120-121, 126, 132, 141-150, 156-161, 176, 200, 231, 237, 243-248, 256-261, 269-282, 287-293, 300-311, 318-334
	 source_acceptance_test/plugin.py                        69     25    64%   22-23, 31, 36, 120-140, 144-148
	 source_acceptance_test/tests/test_core.py              394    111    72%   53, 58, 87-95, 100-107, 111-112, 116-117, 293, 331-348, 357-365, 369-374, 380, 413-418, 456-463, 506-508, 511, 576-584, 596-599, 604, 660-661, 667, 670, 706-716, 729-754
	 source_acceptance_test/tests/test_incremental.py       158     14    91%   52-59, 64-77, 240
	 source_acceptance_test/utils/asserts.py                 37      2    95%   57-58
	 source_acceptance_test/utils/common.py                  94     10    89%   16-17, 32-38, 72, 75
	 source_acceptance_test/utils/compare.py                 62     23    63%   21-51, 68, 97-99
	 source_acceptance_test/utils/connector_runner.py       112     50    55%   23-26, 32, 36, 39-68, 71-73, 76-78, 81-83, 86-88, 91-93, 96-114, 148-150
	 source_acceptance_test/utils/json_schema_helper.py     105     13    88%   30-31, 38, 41, 65-68, 96, 120, 190-192
	 ----------------------------------------------------------------------------------
	 TOTAL                                                 1557    349    78%

Build Passed

Test summary info:

=========================== short test summary info ============================
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/plugin.py:63: Skipping TestIncremental.test_two_sequential_reads: Incremental syncs are not supported on this connector.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/tests/test_core.py:88: The previous connector image could not be retrieved.
SKIPPED [1] ../usr/local/lib/python3.9/site-packages/source_acceptance_test/tests/test_core.py:358: The previous connector image could not be retrieved.
======================== 26 passed, 3 skipped in 51.30s ========================

@marcosmarxm
Copy link
Member

marcosmarxm commented Nov 11, 2022

/publish connector=connectors/source-clickup-api

🕑 Publishing the following connectors:
connectors/source-clickup-api
https://github.com/airbytehq/airbyte/actions/runs/3448162962


Connector Did it publish? Were definitions generated?
connectors/source-clickup-api

if you have connectors that successfully published but failed definition generation, follow step 4 here ▶️

@marcosmarxm marcosmarxm merged commit 07af2ff into airbytehq:master Nov 13, 2022
akashkulk pushed a commit that referenced this pull request Dec 2, 2022
* feat(connectors): add source clickup api template

* feat(connectors/clickup-api): add /user and /team endpoint configs

* docs(clickup-connectors): add clickup source doc

* feat: add tasks stream and list stream to ClickUp API

* feat: add space stream and folder stream to clikcup api

* feat: update acceptance-test-config.yml w/ version in 0.2.12

https://github.com/airbytehq/airbyte/tree/459856b73cfebe659741cccdd83590ba0dff2493/airbyte-integrations/bases/source-acceptance-test#migrating-acceptance-test-configyml-to-latest-configuration-format

* docs: add descripiton for optional configs fields

* fix: fix list.json schema

* fix: add ignore_fields to ignore changing value in full_refresh of acceptance-tests

* add clickup to source def

* auto-bump connector version

Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
@sajarin sajarin added internal and removed bounty labels Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants