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

✨ Source Genesys : Migrate Python CDK to Low-code CDK #31370

Closed
wants to merge 3 commits into from

Conversation

rizwan-io
Copy link
Contributor

What

Python to Low Code migration of Source Genesys

How

Recommended reading order

  1. x.java
  2. y.python

🚨 User Impact 🚨

Are there any breaking changes? What is the end result perceived by the user?

For connector PRs, use this section to explain which type of semantic versioning bump occurs as a result of the changes. Refer to our Semantic Versioning for Connectors guidelines for more information. Breaking changes to connectors must be documented by an Airbyte engineer (PR author, or reviewer for community PRs) by using the Breaking Change Release Playbook.

If there are breaking changes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.

Pre-merge Actions

Expand the relevant checklist and delete the others.

New Connector

Community member or Airbyter

  • Community member? Grant edit access to maintainers (instructions)
  • 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.
  • Connector version is set to 0.0.1
    • Dockerfile has version 0.0.1
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • docs/integrations/<source or destination>/<name>.md including changelog with an entry for the initial version. See changelog example
    • docs/integrations/README.md

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.
Updating a connector

Community member or Airbyter

  • Grant edit access to maintainers (instructions)
  • Unit & integration tests added

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.
Connector Generator
  • Issue acceptance criteria met
  • PR name follows PR naming conventions
  • If adding a new generator, add it to the list of scaffold modules being tested
  • The generator test modules (all connectors with -scaffold in their name) have been updated with the latest scaffold by running ./gradlew :airbyte-integrations:connector-templates:generator:generateScaffolds then checking in your changes
  • Documentation which references the generator is updated as needed
Updating the Python CDK

Airbyter

Before merging:

  • Pull Request description explains what problem it is solving
  • Code change is unit tested
  • Build and my-py check pass
  • Smoke test the change on at least one affected connector
    • On Github: Run this workflow, passing --use-local-cdk --name=source-<connector> as options
    • Locally: airbyte-ci connectors --use-local-cdk --name=source-<connector> test
  • PR is reviewed and approved

After merging:

  • Publish the CDK
    • The CDK does not follow proper semantic versioning. Choose minor if this the change has significant user impact or is a breaking change. Choose patch otherwise.
    • Write a thoughtful changelog message so we know what was updated.
  • Merge the platform PR that was auto-created for updating the Connector Builder's CDK version
    • This step is optional if the change does not affect the connector builder or declarative connectors.

@vercel
Copy link

vercel bot commented Oct 13, 2023

The latest updates on your projects. Learn more about Vercel for Git β†—οΈŽ

1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
airbyte-docs ⬜️ Ignored (Inspect) Visit Preview Oct 17, 2023 3:21pm

@CLAassistant
Copy link

CLAassistant commented Oct 13, 2023

CLA assistant check
All committers have signed the CLA.

@github-actions
Copy link
Contributor

Before Merging a Connector Pull Request

Wow! What a great pull request you have here! πŸŽ‰

To merge this PR, ensure the following has been done/considered for each connector added or updated:

  • PR name follows PR naming conventions
  • Breaking changes are considered. If a Breaking Change is being introduced, ensure an Airbyte engineer has created a Breaking Change Plan.
  • Connector version has been incremented in the Dockerfile and metadata.yaml according to our Semantic Versioning for Connectors guidelines
  • You've updated the connector's metadata.yaml file any other relevant changes, including a breakingChanges entry for major version bumps. See metadata.yaml docs
  • Secrets in the connector's spec are annotated with airbyte_secret
  • All documentation files are up to date. (README.md, bootstrap.md, docs.md, etc...)
  • Changelog updated in docs/integrations/<source or destination>/<name>.md with an entry for the new version. See changelog example
  • Migration guide updated in docs/integrations/<source or destination>/<name>-migrations.md with an entry for the new version, if the version is a breaking change. See migration guide example
  • If set, you've ensured the icon is present in the platform-internal repo. (Docs)

If the checklist is complete, but the CI check is failing,

  1. Check for hidden checklists in your PR description

  2. Toggle the github label checklist-action-run on/off to re-run the checklist CI.

@marcosmarxm
Copy link
Member

Thanks for the contribution @rizwan-io please point out if you need any review or change to ready to review when the code is done.

@marcosmarxm
Copy link
Member

Also don't forget to sign the CLA.

@marcosmarxm marcosmarxm added hackathon-2023-10 low-code-migration This connector has been migrated to the low-code CDK labels Oct 13, 2023
@octavia-squidington-iii octavia-squidington-iii added the area/connectors Connector related issues label Oct 17, 2023
@rizwan-io
Copy link
Contributor Author

I had a couple of queries @marcosmarxm

  1. How can we use nested templates? For example, I used: https://api.{{ parameters['{{ config['tenant_endpoint'] }}'] }}//api/v2/
  2. While running python main.py spec Im getting the below error:
Failed validating 'enum' in schema[0]['properties']['type']:
  {'enum': ['CustomRequester'], 'type': 'string'}

If I changed my Requester in manifest.yaml to CustomRequester It seems to throw the same kind of error for schema[1]

Failed validating 'enum' in schema[1]['properties']['type']:
    {'enum': ['HttpRequester'], 'type': 'string'}
  1. Same way I'm some kind of errors in acceptance-tests

@marcosmarxm
Copy link
Member

I had a couple of queries @marcosmarxm

  1. How can we use nested templates? For example, I used: https://api.{{ parameters['{{ config['tenant_endpoint'] }}'] }}//api/v2/
  2. While running python main.py spec Im getting the below error:
Failed validating 'enum' in schema[0]['properties']['type']:
  {'enum': ['CustomRequester'], 'type': 'string'}

If I changed my Requester in manifest.yaml to CustomRequester It seems to throw the same kind of error for schema[1]

Failed validating 'enum' in schema[1]['properties']['type']:
    {'enum': ['HttpRequester'], 'type': 'string'}
  1. Same way I'm some kind of errors in acceptance-tests

Can you make the questions in #help-connector-development channel?

@rizwan-io
Copy link
Contributor Author

I had already asked it long back but didn't get any reply. https://airbytehq.slack.com/archives/C027KKE4BCZ/p1697553227019759
But no worries, I will ask again

@marcosmarxm
Copy link
Member

Hello @rizwan-io I'm trying to get a sandbox account to run tests properly and help in the development for Genesys connector.

@marcosmarxm
Copy link
Member

Unfortunately, Airbyte couldn't obtain a sandbox account to perform integration tests, which is crucial for maintaining high-quality connectors in the catalog. Due to this issue, I am closing this pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues community connectors/source/genesys hackathon-2023-10 low-code-migration This connector has been migrated to the low-code CDK
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

4 participants