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

Mark datefields in Beta/GA connectors properly as dates #20204

Closed
timroes opened this issue Dec 7, 2022 · 6 comments
Closed

Mark datefields in Beta/GA connectors properly as dates #20204

timroes opened this issue Dec 7, 2022 · 6 comments

Comments

@timroes
Copy link
Collaborator

timroes commented Dec 7, 2022

Since we merged #19678 which enables the date picker for all date fields, we should make sure that all connector specs properly mark date fields with format: date or format: date-time in their spec. We noticed a lot of connectors only attach a pattern to it, but not the format key. We should to a spike to update all specs to correct those, and make sure all date fields can therefore properly use the datepicker.

@timroes timroes added team/extensibility team/connectors-python from/connector-ops team/destinations Destinations team's backlog team/db-dw-sources Backlog for Database and Data Warehouse Sources team and removed team/triage labels Dec 7, 2022
@evantahler
Copy link
Contributor

evantahler commented Dec 7, 2022

Here's a quick check of the list of connectors that need to be fixed:

const yaml = require('js-yaml'); // npm install -g js-yaml
const fs   = require('fs');
const FILE = '/Users/evan/workspace/airbyte/airbyte/airbyte-config/init/src/main/resources/seed/source_specs.yaml'

const doc = yaml.load(fs.readFileSync(FILE, 'utf8'));
let connector_count = 0

for (const connector of doc) {
  let problems = [];
  for (const [key, value] of Object.entries(connector.spec.connectionSpecification.properties)) {
    if (!value.format && value.pattern && value.pattern.startsWith('^[0-9]{4}-')) {
      problems.push(key)
    }
  }
  if (problems.length > 0) {
    connector_count++;
    console.log("")
    console.log(`### Connector: ${connector.dockerImage}`)
    for (p of problems) {
      console.log(` * ${p}`)
    }
  }
}

console.log("---")
console.log(`${connector_count} total connectors with problems`)

Connector: airbyte/source-aws-cloudtrail:0.1.4

  • start_date

Connector: airbyte/source-amazon-seller-partner:0.2.28

  • replication_start_date
  • replication_end_date

Connector: airbyte/source-amplitude:0.1.18

  • start_date

Connector: airbyte/source-appsflyer:0.1.0

  • start_date

Connector: airbyte/source-appstore-singer:0.2.6

  • start_date

Connector: airbyte/source-ashby:0.1.0

  • start_date

Connector: airbyte/source-bigcommerce:0.1.7

  • start_date

Connector: airbyte/source-callrail:0.1.0

  • start_date

Connector: airbyte/source-cart:0.2.0

  • start_date

Connector: airbyte/source-chargebee:0.1.16

  • start_date

Connector: airbyte/source-chartmogul:0.1.1

  • start_date

Connector: airbyte/source-close-com:0.2.0

  • start_date

Connector: airbyte/source-coin-api:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-commercetools:0.1.0

  • start_date

Connector: airbyte/source-datadog:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-delighted:0.1.4

  • since

Connector: airbyte/source-dixa:0.1.3

  • start_date

Connector: airbyte/source-dv-360:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-exchange-rates:1.2.7

  • start_date

Connector: airbyte/source-facebook-marketing:0.2.78

  • end_date

Connector: airbyte/source-freshservice:0.1.1

  • start_date

Connector: airbyte/source-genesys:0.1.0

  • start_date

Connector: airbyte/source-github:0.3.8

  • start_date

Connector: airbyte/source-gitlab:0.1.8

  • start_date

Connector: airbyte/source-gnews:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-gocardless:0.1.0

  • gocardless_version
  • start_date

Connector: airbyte/source-gong:0.1.0

  • start_date

Connector: airbyte/source-google-ads:0.2.5

  • start_date
  • end_date

Connector: airbyte/source-google-search-console:0.1.18

  • start_date
  • end_date

Connector: airbyte/source-harvest:0.1.11

  • replication_start_date

Connector: airbyte/source-hubspot:0.2.3

  • start_date

Connector: airbyte/source-insightly:0.1.0

  • start_date

Connector: airbyte/source-intercom:0.1.29

  • start_date

Connector: airbyte/source-iterable:0.1.22

  • start_date

Connector: airbyte/source-jira:0.3.0

  • start_date

Connector: airbyte/source-klaviyo:0.1.10

  • start_date

Connector: airbyte/source-lever-hiring:0.1.3

  • start_date

Connector: airbyte/source-linkedin-ads:0.1.12

  • start_date

Connector: airbyte/source-mailgun:0.1.0

  • start_date

Connector: airbyte/source-marketo:0.1.11

  • start_date

Connector: airbyte/source-mixpanel:0.1.29

  • start_date
  • end_date

Connector: airbyte/source-my-hours:0.1.1

  • start_date

Connector: airbyte/source-nasa:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-netsuite:0.1.1

  • start_datetime

Connector: airbyte/source-news-api:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-notion:0.1.10

  • start_date

Connector: airbyte/source-nytimes:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-okta:0.1.13

  • start_date

Connector: airbyte/source-onesignal:0.1.2

  • start_date

Connector: airbyte/source-orb:0.1.4

  • start_date

Connector: airbyte/source-orbit:0.1.1

  • start_date

Connector: airbyte/source-outreach:0.1.2

  • start_date

Connector: airbyte/source-pardot:0.1.0

  • start_date

Connector: airbyte/source-partnerstack:0.1.0

  • start_date

Connector: airbyte/source-paypal-transaction:0.1.10

  • start_date

Connector: airbyte/source-paystack:0.1.1

  • start_date

Connector: airbyte/source-pipedrive:0.1.13

  • replication_start_date

Connector: airbyte/source-plaid:0.3.2

  • start_date

Connector: airbyte/source-plausible:0.1.0

  • start_date

Connector: airbyte/source-polygon-stock-api:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-posthog:0.1.7

  • start_date

Connector: airbyte/source-prestashop:0.3.0

  • start_date

Connector: airbyte/source-qonto:0.1.0

  • start_date

Connector: airbyte/source-qualaroo:0.1.2

  • start_date

Connector: airbyte/source-quickbooks-singer:0.1.5

  • start_date

Connector: airbyte/source-recharge:0.2.4

  • start_date

Connector: airbyte/source-recurly:0.4.1

  • begin_time
  • end_time

Connector: airbyte/source-rd-station-marketing:0.1.1

  • start_date

Connector: airbyte/source-salesloft:0.1.3

  • start_date

Connector: airbyte/source-salesforce:1.0.27

  • start_date

Connector: airbyte/source-senseforce:0.1.0

  • start_date

Connector: airbyte/source-shopify:0.3.0

  • start_date

Connector: airbyte/source-slack:0.1.19

  • start_date

Connector: airbyte/source-snapchat-marketing:0.1.8

  • start_date
  • end_date

Connector: airbyte/source-sonar-cloud:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-square:0.1.4

  • start_date

Connector: airbyte/source-stripe:0.1.40

  • start_date

Connector: airbyte/source-surveymonkey:0.1.13

  • start_date

Connector: airbyte/source-talkdesk-explore:0.1.0

  • start_date

Connector: airbyte/source-tiktok-marketing:0.1.17

  • start_date
  • end_date

Connector: airbyte/source-timely:0.1.0

  • start_date

Connector: airbyte/source-toggl:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-trello:0.1.6

  • start_date

Connector: airbyte/source-tvmaze-schedule:0.1.0

  • start_date
  • end_date

Connector: airbyte/source-twilio:0.1.14

  • start_date

Connector: airbyte/source-typeform:0.1.9

  • start_date

Connector: airbyte/source-xero:0.1.0

  • start_date

Connector: airbyte/source-woocommerce:0.1.2

  • start_date

Connector: airbyte/source-wrike:0.1.0

  • start_date

Connector: airbyte/source-zendesk-chat:0.1.11

  • start_date

Connector: airbyte/source-zendesk-sunshine:0.1.1

  • start_date

Connector: airbyte/source-zendesk-support:0.2.18

  • start_date

Connector: airbyte/source-zendesk-talk:0.1.5

  • start_date

Connector: airbyte/source-zuora:0.1.3

  • start_date

Connector: airbyte/source-waiteraid:0.1.0

  • start_date

Connector: airbyte/source-yandex-metrica:0.1.0

  • start_date
  • end_date

96 total connectors with problems

@YowanR
Copy link
Contributor

YowanR commented Dec 8, 2022

@lazebnyi @YuliiaNahoha Can you take a look at this work and estimate how much work this would be? If we have the cycles, we could try to get this done this quarter but happy to discuss further.

@bleonard
Copy link
Contributor

@YowanR coordinating here. Scanning the list, I don't immediately notice any that are databases/java. If there are any and you can't handle them, can you make a new issue and tag it to our team.

@bleonard bleonard removed team/db-dw-sources Backlog for Database and Data Warehouse Sources team team/destinations Destinations team's backlog labels Dec 12, 2022
@timroes
Copy link
Collaborator Author

timroes commented Dec 12, 2022

Updated the list above in the comment, to include 3 connectors that were missing from the list, that also had date fields who were not marked correctly (since some connectors use a pattern like ^$|^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$).

@lazebnyi lazebnyi linked a pull request Dec 13, 2022 that will close this issue
@evantahler
Copy link
Contributor

@YowanR is this on your radar? If so, I'll remove this from the Connector Ops backlog

@YowanR
Copy link
Contributor

YowanR commented Jan 3, 2023

@evantahler yes it is - GL is already working on it. Feel free to remove it from your backlog.

@lazebnyi lazebnyi self-assigned this Jan 12, 2023
@lazebnyi lazebnyi added the Epic label Feb 10, 2023
@lazebnyi lazebnyi assigned arsenlosenko and unassigned lazebnyi Feb 10, 2023
@lazebnyi lazebnyi changed the title Mark datefields in all connectors properly as dates Mark datefields in Beta/GA connectors properly as dates Apr 27, 2023
@lazebnyi lazebnyi closed this as completed May 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants