airbytehq / airbytehq/airbyte-api-python-sdk

Expose cronTimeZone on connection schedule once the public API spec change lands

Aperta
#207 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
61
Fork
27
Merge medio
4m
PR unite (30g)
2

Descrizione

### Summary

The Airbyte public API is gaining timezone support on the connection schedule, and this SDK's generated models will need to pick it up so users can set a non-UTC cron schedule programmatically.

Today the public API's `AirbyteApiConnectionSchedule` request schema exposes only `scheduleType` and `cronExpression`. Reads return the cron expression with the timezone appended (e.g. `0 0 */3 * * ? US/Pacific`), but writes could not accept that form, so a non-UTC schedule could not be created or round-tripped through this SDK — a read-modify-write of a connection with a non-UTC schedule returned HTTP 400.

### What is changing in the API

Additive, backward compatible:

- New optional `cronTimeZone` string on `AirbyteApiConnectionSchedule`. Accepts a supported timezone ID (e.g. `US/Pacific`) or a fixed offset (e.g. `+05:30`); IDs starting with `Etc` are rejected. Omitting it means UTC, matching current behavior.
- `cronExpression` also accepts the timezone-suffixed form that reads already emit, so a value read back from the API can be sent straight to `POST`/`PATCH`. If both are supplied, the explicit `cronTimeZone` wins.
- The read response shape is unchanged.

### Ask

This SDK regenerates from the upstream OpenAPI spec (`airbyte-api/server-api/src/main/openapi/api_sdk.yaml`) on its scheduled Speakeasy runs, so no hand edits are expected here. This issue exists to track that the generated models actually expose `cronTimeZone` after the spec change lands upstream, and to give users a place to follow the work.

- [ ] Spec change merged in the platform repo
- [ ] Spec synced to the public `airbyte-platform` mirror
- [ ] Generated models in this SDK expose `cronTimeZone`
- [ ] Released version available to users

### Workaround until then

Existing SDK versions can already pass the timezone inside `cronExpression` (e.g. `"0 0 */3 * * ? US/Pacific"`) once the platform change is deployed, since the API accepts the suffixed form.

### Related reports

- https://github.com/airbytehq/airbyte/issues/48883
- https://github.com/airbytehq/terraform-provider-airbyte/issues/461
- https://github.com/airbytehq/terraform-provider-airbyte/issues/121

---
[Devin session](https://app.devin.ai/sessions/5db931c26d7f4400b2c325d16305021d)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by checking whether the spec change in airbyte-api/server-api/src/main/openapi/api_sdk.yaml has landed and synced to the public airbyte-platform mirror. After the scheduled Speakeasy generation, inspect the generated models for cronTimeZone; the work is done when it is exposed and a released SDK version is available.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
openapi, python
Ambito
api
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
28/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.