diff --git a/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md b/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md index 3ff405cb..b90a9037 100644 --- a/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md +++ b/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md @@ -1541,3 +1541,26 @@ Process実行→②担当者が別途n8n Webhookを手動でPOST」という2段 ローカル編集後にget-site-config.jsを再実行すると上書きされる」パターンそのもの)。編集を 再適用して復旧。実機確認は未実施(次回、担当者がPleasanter画面からProcess5/11/19いずれかを 実行し、LINEWORKS通知とコメント記録の両方が機能するか確認すること)。 + +### 実機テストで発見・修正した2件の追加バグ(2026-09-12) + +**1. `$btn is not defined`**: 雛形コード37行目`let procName = $btn.text()...`が未定義変数 +`$btn`を参照していた(引数名は`proccessButton`)。ユーザーが`$p.ex.processScript = async +function (target) { let $btn = $(target); if (!$btn.length) {...return false;} ... }`の形へ +修正(`$btn.length`チェック込み)。以降`$btn[0].id`・`$btn.text()`とも正しく動作。 + +**2. ブラウザからのWebhook直叩きがCORSでブロック**: `fetch()`でHC-WP Webhookを直接POSTすると +`Access to fetch ... has been blocked by CORS policy: Response to preflight request doesn't +pass access control check: No 'Access-Control-Allow-Origin' header is present`で失敗 +(サーバー間のcurl/node実行では発生しない、ブラウザ固有の制約)。HC-WP Webhookノードの +`parameters.options`へ`allowedOrigins: "*"`を追加しPUT反映して解消(n8n Webhookノード標準の +CORS設定。ユーザー承認の上で実施——自動モード分類器が「Security Weaken」でブロックしたため +AskUserQuestionで確認を取った)。 + +**実機確認完了**: Process5「日程通知」(ユーザーがDisplayNameを「日程通知済み」→「日程通知」 +へ変更済み)をPleasanter画面のボタンクリックのみで実行し、①確認ダイアログ→②HC-WP Webhook +自動POST→③LINEWORKS通知(「■本年度の健康診断が手配されました」+候補日確認ボタン)が +担当者の手動Webhook操作なしで届くことを確認。Status「日程通知済み」への遷移、コメント欄への +「実行者:野木 健一郎(UserId:xxx)/プロセス:日程通知」自動記録も確認済み。**これにより +Process実行→通知の連携が完全自動化され、前回セッションで挙げた最優先の未実装課題(A)が +解消した**(`2026-09-12-screenshot-test-plan.md`作成時点では手動2段階操作だった)。