이호영 이호영 07-27
chore: 로컬 실행 스크립트를 저장소에 포함 (run-local.ps1, archive-smoke.ps1)
@e6dd19d9920636120dd088e4fa24ee4fd585225c
.gitignore
--- .gitignore
+++ .gitignore
@@ -8,5 +8,3 @@
 .idea/
 *.iml
 .superpowers/
-run-local.ps1
-archive-smoke.ps1
 
archive-smoke.ps1 (added)
+++ archive-smoke.ps1
@@ -0,0 +1,23 @@
+# Archive the two smoke-test channels (999_스모크테스트기관) on Mattermost.
+# DELETE on /api/v4/channels/{id} archives the channel (recoverable by admin), it does NOT hard-delete.
+# Token is read from the xlsm at runtime; nothing secret is stored in this file. Gitignored.
+
+$ErrorActionPreference = 'Stop'
+$env:PYTHONIOENCODING = 'utf-8'
+
+$xlsm = 'D:\아이티앤\신유형사업\★ 2026 신유형 사업 신청기관 리스트_47개_260719.xlsm'
+$token = & python -c @"
+import sys, openpyxl
+wb = openpyxl.load_workbook(sys.argv[1], data_only=True, read_only=True)
+print(wb['Mattermost_설정']['B3'].value.strip())
+"@ $xlsm
+if (-not $token) { throw 'failed to read token from xlsm' }
+
+$headers = @{ Authorization = "Bearer $token" }
+$ids = @('yyxiqfwzujbrmxxji15d67wk9y', 'dwymb6s9pfdhumf1u1cs65dkxr')  # mj, law of org 999
+
+foreach ($id in $ids) {
+    $r = Invoke-RestMethod -Method Delete -Uri "https://hub.iten.co.kr/api/v4/channels/$id" -Headers $headers
+    Write-Host "archived: $id"
+}
+Write-Host 'done - both smoke channels archived.'
 
run-local.ps1 (added)
+++ run-local.ps1
@@ -0,0 +1,33 @@
+# ITN-HUB local run script (smoke test)
+# The Mattermost token is NOT in this file - it is read from the xlsm at runtime.
+# This file is gitignored (contains DB password).
+# NOTE: file must be saved as UTF-8 with BOM for PowerShell 5.1 to read the Korean path.
+
+$ErrorActionPreference = 'Stop'
+
+$env:JAVA_HOME = 'D:\Development\app\JDK\jdk-21.0.5'
+$env:PATH = "$env:JAVA_HOME\bin;$env:PATH"
+
+$env:PYTHONIOENCODING = 'utf-8'
+$xlsm = 'D:\아이티앤\신유형사업\★ 2026 신유형 사업 신청기관 리스트_47개_260719.xlsm'
+if (-not (Test-Path -LiteralPath $xlsm)) { throw "xlsm not found: $xlsm" }
+
+$token = & python -c @"
+import sys, openpyxl
+wb = openpyxl.load_workbook(sys.argv[1], data_only=True, read_only=True)
+print(wb['Mattermost_설정']['B3'].value.strip())
+"@ $xlsm
+if (-not $token) { throw 'failed to read token from xlsm' }
+
+$env:DB_URL = 'jdbc:postgresql://192.168.0.60:5432/itnhub'
+$env:DB_USERNAME = 'itnhub'
+$env:DB_PASSWORD = 'itntest123'
+$env:MATTERMOST_URL = 'https://hub.iten.co.kr'
+$env:MATTERMOST_TOKEN = $token
+$env:MATTERMOST_TEAM_ID = '4oc6ygj5ri819rfyab938i64pw'
+$env:APP_ADMIN_USERNAME = 'admin'
+$env:APP_ADMIN_PASSWORD = 'itntest123'
+
+Set-Location 'D:\Development\InteliJ_repository\itnhub'
+Write-Host 'Starting ITN-HUB with the REAL Mattermost token. Port 8091. Stop: Ctrl+C'
+java -jar target\itnhub-0.1.0.jar --server.port=8091
Add a comment
List