/// <summary> /// Initializes a new instance of the <see cref="WebHookSender"/> class. /// </summary> protected WebHookSender(ILogger <WebHookSender> logger, IOptions <WebHookSettings> settings) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _settings = settings.Value; _serializer = _settings.Settings != null?JsonSerializer.Create(_settings.Settings) : JsonSerializer.CreateDefault(); _serializer.Converters.Add(new NotificationDictionarySerializer()); }
public async Task CreateWebhook(string url, string password, string login, WebHookSettings settings) { using (var httpClient = new HttpClient()) { var createWebhookUrl = API.Jira.CreateWebhook(url); var byteArray = Encoding.ASCII.GetBytes($"{login}:{password}"); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); var content = new StringContent(JsonConvert.SerializeObject(settings), Encoding.UTF8, "application/json"); await httpClient.PostAsync(createWebhookUrl, content); } }