-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
58 lines (48 loc) · 1.96 KB
/
Copy pathProgram.cs
File metadata and controls
58 lines (48 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.IO;
using System.Net;
namespace HiredScore
{
class Program
{
static void Main(string[] args)
{
string target = args[0];
// string pagerdutyservicekey = Environment.GetEnvironmentVariable("PDKEY");
if (GetStatusCode(target) != HttpStatusCode.OK)
{
//TriggerPdIncident(pagerdutyservicekey, target + " is not OK");
}
}
private static void TriggerPdIncident(string pagerdutyservicekey, string description)
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://events.pagerduty.com/generic/2010-04-15/create_event.json");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"service_key\":\"" + pagerdutyservicekey + "\"," +
"\"event_type\":\"trigger\"," +
"\"description\":\"" + description + "\"}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Console.WriteLine(result);
}
}
}
private static HttpStatusCode GetStatusCode(string target)
{
WebRequest myWebRequest = WebRequest.Create(target);
// TODO safe cast
HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
myWebResponse.Close();
Console.WriteLine(myWebResponse.StatusCode);
return myWebResponse.StatusCode;
}
}
}