51 lines
2.2 KiB
MySQL
51 lines
2.2 KiB
MySQL
|
|
-- Migration 035: Update Veeam Backup Failure pipeline to use B2 storage for diagnostic results
|
||
|
|
-- Inserts a fetch_b2_result step after rmm_get_job_results and updates references
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
DECLARE
|
||
|
|
v_pipeline_id INTEGER;
|
||
|
|
BEGIN
|
||
|
|
SELECT id INTO v_pipeline_id FROM webhook_pipelines WHERE name = 'Veeam Backup Failure → Smart Diagnostic Ticket';
|
||
|
|
IF v_pipeline_id IS NULL THEN
|
||
|
|
RAISE NOTICE 'Veeam pipeline not found — skipping';
|
||
|
|
RETURN;
|
||
|
|
END IF;
|
||
|
|
|
||
|
|
-- Shift steps 10-13 → 11-14 to make room for the new fetch_b2_result step at position 10
|
||
|
|
-- Update in reverse order to avoid unique constraint conflicts on (pipeline_id, step_order)
|
||
|
|
UPDATE pipeline_steps SET step_order = 14 WHERE pipeline_id = v_pipeline_id AND step_order = 13;
|
||
|
|
UPDATE pipeline_steps SET step_order = 13 WHERE pipeline_id = v_pipeline_id AND step_order = 12;
|
||
|
|
UPDATE pipeline_steps SET step_order = 12 WHERE pipeline_id = v_pipeline_id AND step_order = 11;
|
||
|
|
UPDATE pipeline_steps SET step_order = 11 WHERE pipeline_id = v_pipeline_id AND step_order = 10;
|
||
|
|
|
||
|
|
-- Insert fetch_b2_result step at position 10
|
||
|
|
INSERT INTO pipeline_steps (pipeline_id, step_order, step_type, name, config)
|
||
|
|
VALUES (
|
||
|
|
v_pipeline_id, 10, 'fetch_b2_result', 'Download diagnostic results from B2',
|
||
|
|
'{
|
||
|
|
"object_key": "{{context.job_results}}",
|
||
|
|
"output_key": "diagnostic_results"
|
||
|
|
}'::jsonb
|
||
|
|
);
|
||
|
|
|
||
|
|
-- Update AI analyze step (now step 11): replace {{context.job_results}} with {{context.diagnostic_results}}
|
||
|
|
UPDATE pipeline_steps
|
||
|
|
SET config = jsonb_set(
|
||
|
|
config,
|
||
|
|
'{prompt}',
|
||
|
|
to_jsonb(replace(config->>'prompt', '{{context.job_results}}', '{{context.diagnostic_results}}'))
|
||
|
|
)
|
||
|
|
WHERE pipeline_id = v_pipeline_id AND step_type = 'ai_analyze';
|
||
|
|
|
||
|
|
-- Update create_ticket step (now step 12): replace {{context.job_results}} with {{context.diagnostic_results}}
|
||
|
|
UPDATE pipeline_steps
|
||
|
|
SET config = jsonb_set(
|
||
|
|
config,
|
||
|
|
'{template,description}',
|
||
|
|
to_jsonb(replace(config->'template'->>'description', '{{context.job_results}}', '{{context.diagnostic_results}}'))
|
||
|
|
)
|
||
|
|
WHERE pipeline_id = v_pipeline_id AND step_type = 'create_ticket';
|
||
|
|
|
||
|
|
RAISE NOTICE 'Veeam pipeline updated: inserted fetch_b2_result at step 10, shifted steps 10-13 → 11-14, updated references';
|
||
|
|
END $$;
|