ken_nogi/NodeSrv/apps/healthcheck-survey-bot/README.md

2.2 KiB
Raw Blame History

healthcheck-survey-bot

健康診断管理(SiteId 508971)×LINEWORKS Bot連携。508971のSiteSettings.Processes をフロー定義として使い、n8n上でBot対話型のStatus管理を行う。

設計書: NodeSrv/docs/superpowers/specs/2026-09-05-healthcheck-lineworks-survey-n8n-design.md 実装計画: NodeSrv/docs/superpowers/plans/2026-09-05-healthcheck-lineworks-survey-n8n.md

実機調査メモ2026-09-05確認

508971への新規テストProcess追加なしで、既存本番プロジェクト「実行予算WF申請」SiteId 376872の 取得済みprocesses.jsonPleasanter/実行予算WF申請/configs/production/site-376872_実行予算WF申請/processes.json に入力検証タブを使ったProcessの実例があり、そこからJSON構造を確認できた。

Processの入力検証タブはSiteSettings.Processes[].ValidateInputs配列として保存される。 各要素は{"Id": number, "ColumnName": string, "Required": boolean}(実例: {"Id": 1, "ColumnName": "Class021", "Required": true})。 配列名はValidationsではなくValidateInputs。値を設定していない項目(クライアント/サーバ正規表現、エラーメッセージ、最小/最大等)は キー自体が省略される可能性が高い(今回の実例では未設定のため確認できていない)。

Task 5processFlow.jsgetValidationColumnNamesはこの構造(process.ValidateInputs[].ColumnName)を前提に実装する。

n8nリソースID一覧

(Task 8〜11完了後、ここに作成したData Table ID・ワークフローIDを記録する)

  • Data Table healthcheck_bot_state: jqMDa2YZTI4f0iQ7
    • projectId: LOcxF69Gm4PvnkqAorg-master-sync用プロジェクトを流用)
    • 列: resultId, targetEmail, currentStatus, pendingProcesses, awaitInput, awaitProcessId, awaitColumnすべてstring型
    • 注記: 設計上の8列目updatedAtはn8n Data Tableのシステム予約列名POST /data-tables400 Column name "updatedAt" is reserved as a system column name.を返すのため、列定義には含めていない。各行の更新日時はn8nが自動管理するupdatedAtメタデータで代替する。