ken_nogi/NodeSrv/apps/org-master-sync/workflow-list.md
Kenichiro NOGI ce58cb4be4 初回コミット: dev配下(NodeSrv/Pleasanter等)をGitea管理下に統合
GitHub(nextgroup2706/ken_nogi)は今後使わず自社Gitea運用に切替え。
NodeSrvは旧リポジトリの履歴を破棄しファイルのみ統合(Dokploy用サービスアカウントは
別途mygit-admin/NodeSrv.gitに履歴あり)。notepmエクスポート(12GB)とPleasanter
インストーラzip(208MB)はサイズが大きいため.gitignoreで除外。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 15:37:06 +09:00

4.6 KiB
Raw Permalink Blame History

運用に必要なワークフロー一覧と処理内容

(検証用・統合済みで不要になったもの — ①旧版、①'検証用、②-A/②-B/②-D2、③-1 — は除外)

org-sync: ①' fetch-lineworks(サブワークフロー・API直取得版) (5AMvEXc0zbJbN3Y5)

  • Execute Workflow Trigger(②本体から呼ばれる)
  • 設定値取得(LW_CLIENT_ID/SERVICE_ACCOUNT/SCOPE/CLIENT_SECRET)
  • LINEWORKS認証(JWT署名→アクセストークン取得)
  • users/orgUnits/positions/levels/userTypesを並列取得(ページング)→展開→Aggregate→タイプ付与
  • Mergeード(5入力、append)で1つに集約
  • Code nodeで{users, orgUnits, positions, levels, userTypes, fetchedAt}に組み立てて返す
  • Data Table保存なし

org-sync: ② merge-master (iRBAQquKr9411ENG、Webhook本体・72ード)

  • 設定値取得(BASE_URL/API_KEY/MASTER_SITE_ID/POSITION・LEVEL・USERTYPE_MASTER_SITE_ID)
  • LINEWORKS取得(①'呼出)
  • 社員マスタ全件取得(export)→展開→Hashフラット化→existingItemsまとめ
  • 実ユーザー全件取得(Pleasanter Users API)→展開→まとめ
  • email overrides取得→まとめ→マップ化
  • サブワークフロー入力組立(users/existingItems/pleasanterUsers/emailOverrides/fetchedAt)
  • logic-merge-master-plan実行(Execute Workflow)
  • 件数集計
  • needsReview展開→行組立→保存(Data Table)
  • 選択肢マスタ処理(役職/職級/利用権限タイプ、直列チェーン): 各マスタ取得→展開→まとめ→マップ化 ×3
  • 欠落タイトル抽出(creates+updatesのchoiceNamesから欠落Title検出)
  • 3分岐(並列): 役職/職級/利用権限タイプそれぞれ 欠落展開→新規作成→新規ペア組立→新規まとめ
  • 最終選択肢マップ完成(3ブランチから接続、3回実行される既存の設計)
  • Create対象Update対象結合→対象展開→選択肢フィールド解決→マスタCreate_Update実行(社員マスタへのcreate/update)
  • 退職対象展開準備→退職対象展開→退職者Update実行
  • 副サイトSiteId取得→副サイト全クリア→テスト用Limit(1件)→正サイトExport→Import用ファイル変換→副サイトImport(バックアップ用副サイトへのコピー)
  • LWグループ作成ロジック(今回新規追加): PLEASANTER_LW_GROUP_MAP_SITE_ID_TEST取得→マップサイト全件取得→マップサイトデータ組立→欠落グループ抽出→欠落グループ展開→グループ作成→マップ追記データ組立→ファイル変換→マップサイトImport実行(利用権限タイプ新規まとめから接続)

logic-merge-master-plan (asKvC5LSVg3q8tuU、②本体から呼ばれるサブワークフロー)

  • Execute Workflow Trigger
  • planMerge計算(Code、LINEWORKS社員とPleasanterUsersのマッチング、creates/updates/retirements/needsReview算出)

org-sync: ③-2 新規登録 test (tfvRvW6kc7pj9XhZ、LINEWORKS API依存除去済み)

  • Webhook起動→設定値取得(BASE_URL/API_KEY/MASTER_SITE_ID/LW_GROUP_MAP_SITE_ID)
  • マスタ全件取得→マスタデータ組立
  • マップサイト全件取得→マップサイトデータ組立
  • 組織全件取得→組織データ組立
  • 新規登録対象抽出(社員マスタ列ベース: LINEWORKS所属組織/役職/職級/利用権限タイプ列使用)
  • テスト用Limit→ユーザー作成実行(users/create)→作成結果と元データ結合
  • 社員マスタ書き戻しCSV組立→ファイル変換→社員マスタ書き戻しImport実行
  • グループタスク集約→groupTasks展開→グループ取得→メンバー追加判定→グループ更新

org-sync: ③-3 退職処理 test (M4xb5bJtMbDxCPsF)

  • Webhook起動→設定値取得(BASE_URL/API_KEY/MASTER_SITE_ID)
  • ※詳細ノード構成は今回未再確認(前回セッション記録ベース): 退職対象抽出→Users update(users/import)→社員マスタミラーリング→グループ脱退(取得→除外判定→更新)

org-sync: ③-4 更新 test (4ovUuGNf7qE4140o、LINEWORKS API依存除去済み)

  • Webhook起動→設定値取得(BASE_URL/API_KEY/MASTER_SITE_ID/LW_GROUP_MAP_SITE_ID)
  • マスタ全件取得→マスタデータ組立
  • 実ユーザー全件取得→実ユーザーデータ組立
  • 組織全件取得→組織データ組立
  • マップサイト全件取得→マップサイトデータ組立
  • 更新対象抽出(社員マスタ列ベース)
  • テスト用Limit→Users用CSV組立→ファイル変換→Users Import実行
  • groupPairs組立→グループタスク集約→groupTasks展開→グループ取得→メンバー増減判定→グループ更新