У меня есть этот код, который уведомляет свободный канал после завершения сборки. В некоторых случаях, когда происходит сбой сборки, я хочу добавить уведомление для себя, чтобы я мог быстро решить проблемы. Как я могу обновить это, чтобы включить уведомление кому-то, используя символ @?
Некоторые примеры, которые я вижу в Интернете, используют конструктор SlackMessage для добавления userName, но по какой-то причине я не могу перегрузить этот конструктор.
public static void PostToSlack()
{
string url= "...";
string slackUrl = GlobalData.slackUrl;
string buildName = TestContext.Parameters["BuildName"];
string buildID = TestContext.Parameters["BuildID"];
string testName = TestContext.CurrentContext.Test.Name;
string outcome = TestContext.CurrentContext.Result.Outcome.ToString();
//If tests failed but the suite actually completed, set more understandable outcome message
if (outcome == "Failed(Child)")
{
outcome = "Completed with Issues";
}
//Build the text string to post to slack
string postText = "Build Completed";
SlackMessage message = new SlackMessage
{
text = postText
};
//Convert serializable object to JSON
string json = JsonConvert.SerializeObject(message, Newtonsoft.Json.Formatting.Indented);
var httpWebRequest = (HttpWebRequest)WebRequest.Create(slackUrl);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
//Send to Slack
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
//Error checking if Slack sends back a 404 or 400
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
}