public void Acknowledge(string subject, string message) { var incidents = _apiClient.GetOpenIncidents(); var incident = incidents.FirstOrDefault(i => i.trigger_summary_data != null && i.trigger_summary_data.IndexOf(subject, StringComparison.OrdinalIgnoreCase) >= 0); if (incident != null) { var ack = new AcknowledgeEvent( new IncidentEvent { incident_key = incident.incident_key, service_key = _config.EventAuthToken }, message); var resResponse = _apiClient.Acknowledge(ack); if (resResponse.IsOk()) { Console.WriteLine("Issue has been acknowledged: {0}", resResponse.incident_key); } else { Console.WriteLine("Failed to acknowledge issue: {0} {1}", resResponse.status, resResponse.message); } } else { Console.WriteLine("No open issue found for subject."); } }
public void CreateAcknowledgeResolve() { var config = GetPagerDutyConfig(); /*var config = new PagerDutyConfig { EventAuthToken = "YOUR_EVENT_API_KEY_HERE", EventApiUrl = "https://events.pagerduty.com/generic/2010-04-15/create_event.json" }; */ var incident = new IncidentEvent { client = "UnitTest", description = "Event triggered by unittest", incident_key = Guid.NewGuid().ToString(), service_key = config.EventAuthToken, }; var apiClient = new IntegrationApi(config); var response = apiClient.Trigger(incident); Assert.IsTrue(response.IsOk(), "Incident should be created"); var acknowledge = new AcknowledgeEvent(incident, "Working on it!"); var ackResponse = apiClient.Acknowledge(acknowledge); Assert.IsTrue(ackResponse.IsOk(), "Incident should be acknowledged"); var resolveEvent = new ResolveEvent(incident, "Fixed!"); var resResponse = apiClient.Resolve(resolveEvent); Assert.IsTrue(resResponse.IsOk(), "Incident should be resolved"); }