v2_incidents_CreateIncidentIntegration/
v2_incidents_CreateIncidentIntegration.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV2::api_incidents::IncidentsAPI;
4use datadog_api_client::datadogV2::model::IncidentIntegrationMetadataAttributes;
5use datadog_api_client::datadogV2::model::IncidentIntegrationMetadataCreateData;
6use datadog_api_client::datadogV2::model::IncidentIntegrationMetadataCreateRequest;
7use datadog_api_client::datadogV2::model::IncidentIntegrationMetadataMetadata;
8use datadog_api_client::datadogV2::model::IncidentIntegrationMetadataType;
9use datadog_api_client::datadogV2::model::SlackIntegrationMetadata;
10use datadog_api_client::datadogV2::model::SlackIntegrationMetadataChannelItem;
11
12#[tokio::main]
13async fn main() {
14 let incident_data_id = std::env::var("INCIDENT_DATA_ID").unwrap();
16 let body =
17 IncidentIntegrationMetadataCreateRequest::new(IncidentIntegrationMetadataCreateData::new(
18 IncidentIntegrationMetadataAttributes::new(
19 1,
20 IncidentIntegrationMetadataMetadata::SlackIntegrationMetadata(Box::new(
21 SlackIntegrationMetadata::new(vec![SlackIntegrationMetadataChannelItem::new(
22 "C0123456789".to_string(),
23 "#new-channel".to_string(),
24 "https://slack.com/app_redirect?channel=C0123456789&team=T01234567"
25 .to_string(),
26 )
27 .team_id("T01234567".to_string())]),
28 )),
29 )
30 .incident_id(incident_data_id.clone()),
31 IncidentIntegrationMetadataType::INCIDENT_INTEGRATIONS,
32 ));
33 let mut configuration = datadog::Configuration::new();
34 configuration.set_unstable_operation_enabled("v2.CreateIncidentIntegration", true);
35 let api = IncidentsAPI::with_config(configuration);
36 let resp = api
37 .create_incident_integration(incident_data_id.clone(), body)
38 .await;
39 if let Ok(value) = resp {
40 println!("{:#?}", value);
41 } else {
42 println!("{:#?}", resp.unwrap_err());
43 }
44}