Skip to content

PRDCT-348: fix code-vs-docs discrepancies in extractors/other - #975

Open
Iamfle4ka wants to merge 4 commits into
mainfrom
devin/1781879583-audit-extractors-other
Open

PRDCT-348: fix code-vs-docs discrepancies in extractors/other#975
Iamfle4ka wants to merge 4 commits into
mainfrom
devin/1781879583-audit-extractors-other

Conversation

@Iamfle4ka

@Iamfle4ka Iamfle4ka commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Jira issue(s): PRDCT-348

Changes:

Code-vs-docs audit of all 23 connectors under components/extractors/other. Compared documented fields, options, defaults, limits and behavior against source code schemas (configSchema.json, configRowSchema.json, PHP ConfigDefinition). 20 findings total across 12 connectors with source access.

Code-accuracy fixes (schema evidence cited)

Airtable — removed non-existent filter_by_formula UI field; added use_view/view_name params; added sync_options (sync_mode, date_from, date_to)

  • Evidence: component-airtable/component_config/configRowSchema.json:47-69, 90-137

GitHub — rewrote entire config section: docs described v1 Generic Extractor (OAuth + templates); deployed component is keboola.ex-github-v2 (PAT + endpoint multiselect + row config with organization_name, repository_owner, repository_name, issue_state, commits_since)

  • Evidence: component-github/component_config/configSchema.json, configRowSchema.json

Azure Cost Management — added type (ActualCost/AmortizedCost/Usage), aggregation (5 values), granularity (None/Daily/Monthly); enumerated all 19 grouping dimension values and 6 time frame options; documented Service Principal auth

  • Evidence: ex-azure-cost-management/src/ConfigDefinition.php:16-89

Google Search Console — added search_type filter, include_fresh option, service account auth

  • Evidence: component-google-search-console/component_config/configRowSchema.json:37-46, 87-98, 183-199

Geocoding Augmentation — fixed provider name openstreetmapnominatim; fixed Yandex apiKey claim (code passes no key)

  • Evidence: geocoding-augmentation/src/.../Augmentation.php:224-236, ParametersValidation.php:50-52

What3words — added undocumented lang parameter (default en)

  • Evidence: app-what3words/main.php:38-42

AWS CUR Reports — "lowest report date" → "highest" (copy-paste from Minimum date)

  • Evidence: component-aws-cost-and-usage-reports/component_config/configSchema.json:133

Time Doctor 2 — parameter mislabeled users → actual name increment; fixed garbled edit-–imeedit-time; normalized dash style across the endpoints list to --

  • Evidence: component-time-doctor-2/component_config/configSchema.json:106-112

Weather API — added forecast_days limit (1–14); clarified continue_on_failure only in input-table mode

  • Evidence: component-weather-api/component_config/configSchema.json:84-85, 117-119

HiBob — added scope clarification: human_readable only affects employees table

  • Evidence: component-hibob/component_config/configSchema.json:54-58

Doc hygiene fixes (typos, alt-text)

  • yourpass: "YourPasss" → "YourPass", "output tale" → "output table"
  • pingdom: "Last 3O days" → "Last 30 days" (letter O → digit 0)
  • mapbox: "columns with in" → "columns in"
  • dynamodb-streams: alt text "Confguration" → "Configuration"
  • servicenow: alt text "DynamoDB Streams Configuration" → "ServiceNow Configuration"
  • google-search-console: "search analytics report" → "sitemaps report" in Sitemaps section
  • azure-cost: "art of the primary key" → "part of"
  • weather-api: "dispite" → "despite", "occurr" → "occur"
  • time-doctor-2: normalized mixed en-dash/-- style in endpoints list (per review nit)

11 connectors had no accessible source repo and could not be verified: DynamoDB Streams, Dark Sky, Currency Rates, Mapbox, Okta, ServiceNow, YourPass, Pingdom, Papertrail, Stripe, Generic Extractor.

Note: github/index.md v2 rewrite is now image-less — the old v1 screenshot no longer matches. A maintainer with UI access should capture a current keboola.ex-github-v2 screenshot.

Release Notes

Justification, description

Documentation accuracy fixes based on code-vs-docs audit of extractors/other connectors. Aligns documented fields, options, defaults, and behavior with actual component schemas.

Plans for Customer Communication

N/A — documentation-only changes.

Impact Analysis

No code changes. Documentation corrections only.

Deployment Plan

Merge to main → auto-deploy to help.keboola.com.

Rollback Plan

Revert PR.

Post-Release Support Plan

N/A

Link to Devin session: https://app.devin.ai/sessions/c360b6efa9804125940654b8cd841f3d
Requested by: @Iamfle4ka

@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@linear

linear Bot commented Jun 19, 2026

Copy link
Copy Markdown

PRDCT-348

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
connection-docs Ready Ready Preview Aug 17, 2026 2:21pm

Request Review

@Iamfle4ka
Iamfle4ka marked this pull request as ready for review July 8, 2026 12:59

@keboola-pr-reviewer-bot keboola-pr-reviewer-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Verdict: needs_human (risk 3/5) · profile docs

Needs human review: multiple pages introduce new product-behaviour claims that can't be verified from the diff.

Concerns:

  • src/content/docs/components/extractors/other/github/index.md: Entire config rewritten to v2 PAT/endpoint model; product-behaviour claim unverifiable from diff.
  • src/content/docs/components/extractors/other/azure-cost/index.md: New Type/Aggregation/Granularity fields and 19 dimension enums added; needs product confirmation.
  • src/content/docs/components/extractors/other/airtable/index.md: New Use View and Sync Options params/defaults added; unverifiable product-behaviour claim.

Suggested reviewers: @keboola/docs

@jordanrburger

Copy link
Copy Markdown
Contributor

Review summary

Verdict: safe to merge with product sign-off.

Structurally build-safe — 15 Markdown files, no frontmatter/admonition/code-fence changes, no broken links or images introduced. Typo/hygiene fixes are unambiguously correct.

The substantive changes rewrite documented product behavior for several connectors and can't be verified from the docs repo. Please confirm before publishing:

  • github: full v1→v2 rewrite (PAT scopes read:org+repo; endpoint multiselect; row fields organization_name / repository_owner / repository_name / issue_state default all / commits_since ISO-8601). Confirm the deployed component is keboola.ex-github-v2 with these fields/defaults.
  • azure-cost: Type (default ActualCost), Aggregation (default Cost + 4), Granularity (Daily/Monthly/None), the 19 grouping dimensions, Time Frame (default MonthToDate), Service Principal auth — verify enums/defaults.
  • airtable: Use View / View Name, Sync Mode Full/Incremental, Date From default last run, Date To default now, and the "hidden fields retrieved when using a view" claim.
  • google-search-console: Service Account auth, search_type values (web/image/video/news/discover/googleNews), Include fresh data.
  • geocoding-augmentation: provider rename openstreetmap→nominatim, and the reversal that Yandex needs no API key (flips a previously stated requirement — worth an explicit check).
  • what3words: new lang param default en.
  • time-doctor-2: param rename usersincrement, default true.
  • weather-api: forecast_days 1–14; "continue_on_failure available only when using an input table".
  • hibob: human_readable "only affects the employees table".
  • aws-cur-reports: "Maximum date = highest report date" and removal of the first-run backfill sentence — confirm Maximum date has no first-run backfill semantics.

Minor nits:

  • github/index.md: the rewrite removes the page's only screenshot, leaving the v2 config section image-less (orphaned PNG not cleaned up). Consider an updated v2 screenshot.
  • time-doctor-2: dash style is now mixed — worklog/edit-time normalized to -- while timeuse/projects/tasks still use en-dash .

Automated review pass (Claude Code), flagged for a human maintainer — not an approval.

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Thanks @jordanrburger. Notes on the flagged items:

Nits — addressed:

  • time-doctor-2 dash style: fixed in 3a2328a7 — normalized users/timeuse/projects/tasks to -- so the whole endpoints list is consistent.
  • github orphaned screenshot: leaving the v2 config section image-less for now — I can't generate an accurate keboola.ex-github-v2 UI screenshot from the docs repo. Flagging for a maintainer with UI access to capture and drop in a current one (the old v1 PNG can be removed at that point).

Substantive behavior changes — all verified against component source, not guessed. Each was checked against the deployed component's configSchema.json / configRowSchema.json / PHP ConfigDefinition (component IDs resolved via each repo's .github/workflows/push.yml). Evidence per finding:

  • githubkeboola/component-github, component_config/configSchema.json (PAT auth, endpoint enum) + configRowSchema.json (row fields + issue_state default all). Confirmed deployed component is keboola.ex-github-v2.
  • azure-costkeboola/ex-azure-cost-management, src/ConfigDefinition.php (Type/Aggregation/Granularity constants + defaults, 19 grouping dimensions, 6 time frames, Service Principal auth).
  • airtablekeboola/component-airtable, configRowSchema.json (Use View/View Name, sync_mode, date_from default last run, date_to default now).
  • google-search-consolekeboola/component-google-search-console, configRowSchema.json (search_type enum, include_fresh, service-account auth).
  • geocoding-augmentation — source Augmentation.php switch uses nominatim (not openstreetmap); Yandex branch passes no API key.
  • what3wordskeboola/app-what3words main.php, lang default en.
  • time-doctor-2configSchema.json param is increment (default true), not users.
  • weather-apiconfigSchema.json forecast_days range 1–14; continue_on_failure gated to input-table mode.
  • hibobhuman_readable applied only to the employees table in source.
  • aws-cur-reportsconfigSchema.json Maximum date = highest report date; no first-run backfill on the max bound.

Full report with exact file/line citations is attached to PRDCT-348. Agree this still warrants product sign-off before publishing — the above is the code evidence to make that check quick.

@Iamfle4ka Iamfle4ka changed the title docs: fix code-vs-docs discrepancies in extractors/other (PRDCT-348) PRDCT-348: fix code-vs-docs discrepancies in extractors/other Aug 5, 2026
nikita.zverev2 and others added 3 commits August 7, 2026 17:30
Fixes verified against source code repos:
- aws-cur-reports: fix copy-paste error in Maximum date description
- azure-cost: fix 'art of' typo
- time-doctor-2: fix garbled text, rename mislabeled 'users' param to 'increment'
- weather-api: add forecast_days limit (1-14), clarify continue_on_failure scope, fix typos
- geocoding-augmentation: fix yandex apiKey requirement (not needed per code)
- google-search-console: fix sitemaps section text
- hibob: add human_readable scope limitation
- servicenow: fix screenshot alt text
- dynamodb-streams: fix alt text typo
- mapbox/pingdom/yourpass: fix typos

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…RDCT-348)

- airtable: remove non-existent filter_by_formula, add use_view/view_name
  and sync_options (sync_mode, date_from, date_to) documentation
- github: rewrite config section for v2 component (PAT auth, endpoint
  multiselect, row-based config with org/repo/issue/commit params)
- azure-cost: add type/aggregation/granularity params, enumerate grouping
  dimension and time frame values, document Service Principal auth
- google-search-console: add search_type and include_fresh params,
  document service account auth option
- geocoding: fix provider name openstreetmap -> nominatim to match code
- what3words: document lang parameter (default: en)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants