今回の件は最初から再現可能な形で記録済みです。 新規作成: 11_引き継ぎ_alexa_speak_API反映後にUIドロップダウンが変わらない件.md 追記更新: 10_マスタードキュメント_Windmillフロー管理_API一本化編.md 記載内容は以下を含みます。 事象概要(API反映済みなのにUIが入力欄のまま) 当日の時系列 確認済み事実(hash・schemaキー) 想定原因 再現時の標準対応手順(API確認 -> UI再読込 -> Edit -> Deploy) 今後の引き継ぎ時チェックポイント 必要ならこのままコミット用メッセージ案も作ります。
3.5 KiB
3.5 KiB
引き継ぎ - u/admin/alexa_speak API反映後にUIドロップダウンが変わらない件
作成日: 2026-03-04
対象:windmill.keinafarm.net/ workspaceadmins
対象スクリプト:u/admin/alexa_speak
目的: 別端末から同じ事象に遭遇しても、原因切り分けと復旧をすぐ実施できるようにする
1. 事象の概要
u/admin/alexa_speak を Windmill API(create-script)で更新した直後、
- Scriptタブ上のコードは更新済み
schema上もdeviceがdynselect-device- しかし Inputフォームは
Deviceがテキスト入力のまま(ドロップダウンにならない)
という状態になった。
2. 当日の時系列(要点)
- 既存スクリプトを取得し、ローカル
scripts/alexa_speak.ts(Dynamic Select実装あり)をAPIで反映 - サーバー再取得で
content一致を確認(更新自体は成功) - UIを開くと
Deviceが入力欄のままで、ドロップダウン化されていない schema.deviceをformat: dynselect-device,originalType: DynSelect_deviceに更新して再反映- それでも UI は直ちには変わらず
- Windmill UIで
Editに入り、Deployを1回実施 - 直後にドロップダウン表示へ反映
3. 確認できた事実
- API反映は成功している(hash更新)
- 中間:
a6010687183a199d - 最終:
318d78f45a084e32
- 中間:
- 最終状態では以下がAPIで確認済み
schema.properties.device.format = "dynselect-device"schema.properties.device.originalType = "DynSelect_device"
- UI反映は API反映だけでは即時にならず、
Edit -> Deploy後に反映された
4. 想定される原因
Windmill CE 側で、API経由更新時にフォームUIメタ情報(入力ウィジェット解決)の再計算または再適用が即時反映されないケースがある。
実務上は「API更新後にUIで1回Deploy」が回避策として有効。
5. 再現時の標準対応手順(Runbook)
5.1 APIでスクリプト更新
cd /home/akira/develop/windmill_workflow
./wm-api.sh get-script u/admin/alexa_speak > /tmp/remote_alexa_speak.json
# parent_hash を含む payload を作成して create-script
./wm-api.sh create-script /tmp/alexa_speak_push.json
5.2 APIで反映確認
./wm-api.sh get-script u/admin/alexa_speak
確認ポイント:
hashが更新されているcontentが想定コードになっているschema.properties.device.formatがdynselect-deviceschema.properties.device.originalTypeがDynSelect_device
5.3 UI反映されない場合
u/admin/alexa_speakを最新リビジョンで開く- ハードリロード(
Ctrl + Shift + R) - 変化がなければ
Edit -> Deployを1回実施 - Inputフォームの
Deviceがドロップダウン化されたことを確認
6. 補足(今回の最終状態)
- スクリプト:
u/admin/alexa_speak - 期待UI:
Device: ドロップダウン(dynselect)Text: テキスト入力
- 前提:
alexa_apiコンテナが稼働http://alexa_api:3500/devicesが取得可能
7. 引き継ぎメモ
- 「API反映成功」と「UIフォーム反映成功」は同時とは限らない
- 引き継ぎ時は、必ず以下をセットで確認する
- APIレスポンスの
hashとschema - UI表示(必要なら
Edit -> Deploy)
- APIレスポンスの