diff --git a/backend/app/routers/campaigns.py b/backend/app/routers/campaigns.py index 312b9a4..af78199 100644 --- a/backend/app/routers/campaigns.py +++ b/backend/app/routers/campaigns.py @@ -298,6 +298,29 @@ def activate_campaign( uow.commit() db.refresh(campaign) + # Create Jira test tickets for any campaign tests that don't have one yet, + # nested under the campaign's Jira ticket (non-fatal). + try: + from app.services.jira_service import ( + auto_create_test_issue, + get_campaign_jira_key, + get_test_jira_key, + ) + campaign_jira_key = get_campaign_jira_key(db, campaign_id) + if campaign_jira_key: + for ct in campaign.campaign_tests: + if ct.test and not get_test_jira_key(db, ct.test.id): + auto_create_test_issue( + db, ct.test, current_user, + parent_ticket_override=campaign_jira_key, + ) + db.commit() + except Exception: + logger.exception( + "Jira test ticket creation failed during activation of campaign %s", + campaign_id, + ) + return serialize_campaign(db, campaign)