feat(CF-762): Add Jira integration for session tracking
Sessions now auto-create CF Jira issues on start and post full session output as comments on end, transitioning the issue to Done. - Add src/services/jira.ts with createSessionIssue, addComment, transitionToDone - Update session_start to create CF Jira issue and store key in sessions table - Update session_end to post session output and close Jira issue - Add migration 031 to archive local task tables (moved to Jira Cloud) - Update .env.example with Jira Cloud env vars Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
50
migrations/031_archive_task_tables.sql
Normal file
50
migrations/031_archive_task_tables.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
-- Migration 031: Archive task tables after Jira Cloud migration (CF-762)
|
||||
-- Task management moved to Jira Cloud. Archive local task tables for historical reference.
|
||||
-- Session, memory, archive, and infrastructure tables remain active.
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- 1. Archive task tables (rename with archived_ prefix)
|
||||
ALTER TABLE IF EXISTS tasks RENAME TO archived_tasks;
|
||||
ALTER TABLE IF EXISTS task_checklist RENAME TO archived_task_checklist;
|
||||
ALTER TABLE IF EXISTS task_links RENAME TO archived_task_links;
|
||||
ALTER TABLE IF EXISTS task_activity RENAME TO archived_task_activity;
|
||||
ALTER TABLE IF EXISTS task_sequences RENAME TO archived_task_sequences;
|
||||
|
||||
-- 2. Add archived_at timestamp to archived tables
|
||||
ALTER TABLE IF EXISTS archived_tasks ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
||||
ALTER TABLE IF EXISTS archived_task_checklist ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
||||
ALTER TABLE IF EXISTS archived_task_links ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
||||
ALTER TABLE IF EXISTS archived_task_activity ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
||||
ALTER TABLE IF EXISTS archived_task_sequences ADD COLUMN IF NOT EXISTS archived_at TIMESTAMP WITH TIME ZONE DEFAULT NOW();
|
||||
|
||||
-- 3. Drop tables that are fully replaced by Jira (data already migrated)
|
||||
DROP TABLE IF EXISTS epics CASCADE;
|
||||
DROP TABLE IF EXISTS epic_sequences CASCADE;
|
||||
DROP TABLE IF EXISTS versions CASCADE;
|
||||
|
||||
-- 4. Keep these tables (still referenced by session tools):
|
||||
-- - task_commits (git commit ↔ Jira issue linking)
|
||||
-- - task_migration_map (maps old local IDs → Jira keys)
|
||||
-- - task_delegations (code delegation tracking)
|
||||
|
||||
-- 5. Update task_commits to remove FK constraint on archived_tasks
|
||||
-- (commits now reference Jira issue keys, not local task IDs)
|
||||
ALTER TABLE IF EXISTS task_commits DROP CONSTRAINT IF EXISTS task_commits_task_id_fkey;
|
||||
|
||||
-- 6. Update task_delegations to remove FK constraint on archived_tasks
|
||||
ALTER TABLE IF EXISTS task_delegations DROP CONSTRAINT IF EXISTS task_delegations_task_id_fkey;
|
||||
|
||||
-- 7. Drop unused indexes on archived tables (save space, they're read-only now)
|
||||
DROP INDEX IF EXISTS idx_tasks_status;
|
||||
DROP INDEX IF EXISTS idx_tasks_type;
|
||||
DROP INDEX IF EXISTS idx_tasks_priority;
|
||||
DROP INDEX IF EXISTS idx_tasks_epic;
|
||||
DROP INDEX IF EXISTS idx_tasks_version;
|
||||
DROP INDEX IF EXISTS idx_tasks_embedding;
|
||||
|
||||
-- 8. Record migration
|
||||
INSERT INTO schema_migrations (version, applied_at) VALUES ('031_archive_task_tables', NOW())
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user