30 lines
2.2 KiB
Markdown
30 lines
2.2 KiB
Markdown
# 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.json`(`Pleasanter/実行予算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 5(processFlow.js)の`getValidationColumnNames`はこの構造(`process.ValidateInputs[].ColumnName`)を前提に実装する。
|
||
|
||
## n8nリソースID一覧
|
||
|
||
(Task 8〜11完了後、ここに作成したData Table ID・ワークフローIDを記録する)
|
||
|
||
- Data Table `healthcheck_bot_state`: `jqMDa2YZTI4f0iQ7`
|
||
- projectId: `LOcxF69Gm4PvnkqA`(`org-master-sync`用プロジェクトを流用)
|
||
- 列: `resultId`, `targetEmail`, `currentStatus`, `pendingProcesses`, `awaitInput`, `awaitProcessId`, `awaitColumn`(すべてstring型)
|
||
- 注記: 設計上の8列目`updatedAt`はn8n Data Tableのシステム予約列名(`POST /data-tables`が`400 Column name "updatedAt" is reserved as a system column name.`を返す)のため、列定義には含めていない。各行の更新日時はn8nが自動管理する`updatedAt`メタデータで代替する。
|