{"record":{"id":"af6cdfbcc416d1ec","repo":"apache/superset","slug":"no-recipients-saved-in-the-report","errorCode":null,"errorMessage":"No recipients saved in the report","messagePattern":"No recipients saved in the report","errorType":"exception","errorClass":"NotificationParamException","httpStatus":422,"severity":"error","filePath":"superset/commands/report/slack_upgrade.py","lineNumber":113,"sourceCode":"        \"\"\"Resolve and atomically convert every Slack v1 recipient to Slack v2.\"\"\"\n        pending: list[tuple[ReportRecipients, list[str]]] = []\n        try:\n            for recipient in self._report_schedule.recipients:\n                if recipient.type != ReportRecipientType.SLACK:\n                    continue\n                try:\n                    slack_recipients = json.loads(recipient.recipient_config_json)\n                except (TypeError, ValueError) as ex:\n                    raise NotificationParamException(\n                        \"Invalid Slack recipient configuration\"\n                    ) from ex\n                target = (\n                    slack_recipients.get(\"target\")\n                    if isinstance(slack_recipients, dict)\n                    else None\n                )\n                if not isinstance(target, str):\n                    raise NotificationParamException(NO_SLACK_RECIPIENTS_MESSAGE)\n                channels = parse_slack_recipient_targets(target.replace(\"#\", \"\"))\n                if not channels:\n                    raise NotificationParamException(NO_SLACK_RECIPIENTS_MESSAGE)\n                pending.append((recipient, channels))\n\n            all_targets = list(\n                dict.fromkeys(\n                    channel for _, channels in pending for channel in channels\n                )\n            )\n            channel_ids = resolve_slack_channel_ids(all_targets) if all_targets else {}\n            resolved = [\n                (\n                    recipient,\n                    json.dumps(\n                        {\n                            \"target\": \",\".join(\n                                channel_ids[channel] for channel in channels","sourceCodeStart":95,"sourceCodeEnd":131,"githubUrl":"https://github.com/apache/superset/blob/f4587218dd19d046c3e4d00063e7d27f8a2ed354/superset/commands/report/slack_upgrade.py#L95-L131","documentation":"Error \"No recipients saved in the report\" thrown in apache/superset.","triggerScenarios":"Slack upgrade runs against a report with no saved recipients.","commonSituations":"Upgrading Slack recipients for a report that has no recipient entries stored.","solutions":["Add at least one Slack recipient to the report schedule before upgrading or sending."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4587218dd19d046c3e4d00063e7d27f8a2ed354","analyzedAt":"2026-08-14T22:39:27.425Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}