airbytehq / airbytehq/airbyte-api-python-sdk

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

オープン
#207 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
61
フォーク
27
平均マージ
4分
マージ済み PR(30日)
2

説明

### 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)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
openapi, python
領域
api
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
28/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。