diff --git a/ui/litellm-dashboard/src/components/create_key_button.tsx b/ui/litellm-dashboard/src/components/create_key_button.tsx index e76e2d0c2b9..6c88fc56842 100644 --- a/ui/litellm-dashboard/src/components/create_key_button.tsx +++ b/ui/litellm-dashboard/src/components/create_key_button.tsx @@ -12,7 +12,7 @@ import { Select, message, } from "antd"; -import { keyCreateCall } from "./networking"; +import { keyCreateCall, slackBudgetAlertsHealthCheck } from "./networking"; const { Option } = Select; @@ -68,6 +68,20 @@ const CreateKey: React.FC = ({ } }; + const sendSlackAlert = async () => { + try { + console.log("Sending Slack alert..."); + message.info("Sending Test Slack alert..."); + const response = await slackBudgetAlertsHealthCheck(accessToken); + console.log("slackBudgetAlertsHealthCheck Response:", response); + message.success("Test Slack Alert worked - check your Slack!"); + console.log("Testing Slack alert successful"); + } catch (error) { + console.error("Error sending Slack alert:", error); + } + }; + + return (
diff --git a/ui/litellm-dashboard/src/components/networking.tsx b/ui/litellm-dashboard/src/components/networking.tsx index fff9cce64d4..9e85a5ca46e 100644 --- a/ui/litellm-dashboard/src/components/networking.tsx +++ b/ui/litellm-dashboard/src/components/networking.tsx @@ -810,3 +810,38 @@ export const PredictedSpendLogsCall = async ( throw error; } }; + +export const slackBudgetAlertsHealthCheck = async (accessToken: String) => { + try { + let url = proxyBaseUrl + ? `${proxyBaseUrl}/health/services?service=slack_budget_alerts` + : `health/services?service=slack_budget_alerts`; + + console.log("Checking Slack Budget Alerts service health"); + + const response = await fetch(url, { + method: "GET", + headers: { + Authorization: `Bearer ${accessToken}`, + "Content-Type": "application/json", + }, + }); + + if (!response.ok) { + const errorData = await response.text(); + console.error("Health Check failed:", errorData); + throw new Error("Health Check failed"); + } + + const data = await response.json(); + console.log("Service Health Response:", data); + + // You can add additional logic here based on the response if needed + + return data; + } catch (error) { + console.error("Failed to perform health check:", error); + throw error; + } +}; +