Beispiel #1
0
    /// <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);
     }
 }