gitops_operator/notifications/
notifications.rs1use reqwest;
2
3use serde_json;
4use tracing::warn;
5
6#[tracing::instrument(name = "send", skip(endpoint), fields())]
7pub async fn send(
8 message: &str,
9 endpoint: Option<&str>,
10) -> Result<reqwest::Response, Box<dyn std::error::Error>> {
11 let Some(endpoint) = endpoint else {
12 warn!("No endpoint provided for sending notifications");
13 return Err("No notification endpoint configured".into());
14 };
15
16 let client = reqwest::Client::new();
17 let payload = serde_json::json!({
18 "text": message
19 });
20
21 Ok(client
22 .post(endpoint)
23 .header("Content-Type", "application/json")
24 .json(&payload)
25 .send()
26 .await?)
27}