public void WebhookShouldSetCorrectly() { const string expected = "value"; var attribute = new TeamsAttribute(expected); Assert.Equal(expected, attribute.WebhookUrl); }
public ITeamsClient Create(IHttpClientFactory httpClientFactory, TeamsAttribute attribute) { return(new TeamsClient(httpClientFactory) { ResolvedAttribute = attribute }); }
private static async Task SendTeamsMessage(TeamsMessage mergedItem, TeamsAttribute attribute) { try { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await client.PostAsJsonAsync(attribute.WebHookUrl, mergedItem); } catch (Exception e) { Console.WriteLine(e.Message); } }
internal void ValidateTeamsAttribute(TeamsAttribute attribute, Type pramType) { TeamsMessageHelper.GuardUrlString(attribute.WebhookUrl, nameof(attribute.WebhookUrl)); }
internal ITeamsClient CreateTeamsClient(TeamsAttribute attribute) => _teamsClientFactory.Create(_httpClientFactory, attribute);
public IAsyncCollector <ITeamsMessage> Convert(TeamsAttribute attribute) { var context = _configProvider.CreateTeamsClient(attribute); return(new TeamsAsyncCollector(context)); }
// combine properties to create final message that will be sent private static TeamsMessage MergeMessageProperties(TeamsMessage item, TeamsConfiguration config, TeamsAttribute attr) { var result = new TeamsMessage(); result.Text = FirstOrDefault(item.Text, attr.Text); result.Title = FirstOrDefault(item.Title, attr.Title); return(result); }
public TeamsAsyncCollector(TeamsConfiguration config, TeamsAttribute attr) { this.config = config; this.attr = attr; }