pelagia-portal/automation/register-watcher-task.ps1
Hardik 8b6d4e8ea6 feat(automation): issue-to-deploy pipeline — Report Issue button, Claude watcher, tag-triggered deploy
- Report Issue button in portal header files a Forgejo issue (portal + claude-queue labels)
- Windows scheduled watcher runs headless Claude Code on queued issues and opens a PR
- .forgejo/workflows/deploy.yml deploys v* release tags via the pms1 host runner (pm2 restart ppms)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 16:39:43 +05:30

24 lines
1 KiB
PowerShell

# Registers the Claude issue watcher as a Windows Scheduled Task.
# Runs every 10 minutes while the machine is on; skips if a run is in progress.
# Run once: powershell -ExecutionPolicy Bypass -File register-watcher-task.ps1
$ErrorActionPreference = 'Stop'
$taskName = 'PelagiaClaudeIssueWatcher'
$scriptPath = Join-Path $PSScriptRoot 'claude-issue-watcher.ps1'
$action = New-ScheduledTaskAction -Execute 'powershell.exe' `
-Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`""
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(1) `
-RepetitionInterval (New-TimeSpan -Minutes 10)
$settings = New-ScheduledTaskSettingsSet `
-MultipleInstances IgnoreNew `
-ExecutionTimeLimit (New-TimeSpan -Hours 2) `
-StartWhenAvailable
Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger `
-Settings $settings -Description 'Polls Forgejo for claude-queue issues and runs Claude Code on them' -Force
Write-Host "Scheduled task '$taskName' registered (every 10 minutes)."