Пример #1
0
        public async Task ReportErrorAsync(Exception exception, string identifier, Developer developer)
        {
            if (developer != null && string.IsNullOrWhiteSpace(developer.SlackName))
            {
                return;
            }

            var client = new HttpClient();
            var uri    = "https://hooks.slack.com/services/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";

            var sb = new StringBuilder();

            if (exception is ExternalErrorException)
            {
                sb.AppendLine("An error was reported via the Fifthweek API:");
                sb.Append("```");
                sb.Append(TruncateError(exception.Message));
                sb.Append("```");
            }
            else
            {
                sb.AppendLine("An exception occurred:");
                sb.Append("```");
                sb.Append(TruncateError(exception.ToString()));
                sb.Append("```");
            }

            var content = new SlackContent(
                Sanitize(sb.ToString()),
                developer == null ? null : "@" + developer.SlackName);

            var response = await client.PostAsync(uri, content, new JsonMediaTypeFormatter());

            if (!response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();

                throw new Exception("Failed to post to slack. Status Code " + response.StatusCode + ", Message: " + responseContent);
            }
        }
Пример #2
0
        public async Task ReportActivityAsync(string activity, Developer developer)
        {
            if (developer != null && string.IsNullOrWhiteSpace(developer.SlackName))
            {
                return;
            }

            var client = new HttpClient();
            var uri    = "https://hooks.slack.com/services/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";

            var content = new SlackContent(
                Sanitize(activity),
                developer == null ? null : "@" + developer.SlackName);

            var response = await client.PostAsync(uri, content, new JsonMediaTypeFormatter());

            if (!response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();

                throw new Exception("Failed to post to slack. Status Code " + response.StatusCode + ", Message: " + responseContent);
            }
        }