serilog-contrib / Serilog.Sinks.MicrosoftTeams.Alternative

Serilog.Sinks.MicrosoftTeams.Alternative is a library to save logging information from Serilog to Microsoft Teams.
MIT License
32 stars 11 forks source link

Teams Incoming Webhook shutdown - Power Automate Migration #33

Open hellcoderGIT opened 3 months ago

hellcoderGIT commented 3 months ago

https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/

Insane Move/Timeframe by Microsoft, just read the comments on the linked post to see how pleased everyone is :)

Could we get some documentation update regarding setup with Power Automate + compatibility info. Some Activity Cards that we send to the O365 Incoming Webhooks no longer work the same, maybe there will also be changes affecting the use of this helpful lib.

SeppPenner commented 3 months ago

I've read this already somewhere and found it really annoying. The thing is that I'm on vacation right now (As the first comment states, in the article, too). Stupid decision from Microsoft in my opinion...

dirkandthemac commented 3 months ago

Just came here to see if there was a conversation about this... Using Postman I was able to post to a teams channel that I currently use this library to post to; In this instance I used the the Adaptive Card payload. I'm not entirely sure whether other formats are supported.

hellcoderGIT commented 3 months ago

I think normal logging will be fairly easy to set up/migrate, but there are larger problems related to it:

I would assume with the outcry on the blogpost there will be at the very least some postponing of the deadline (enjoy your holiday @SeppPenner :)

it might be worth to vote on this feedback: https://feedbackportal.microsoft.com/feedback/idea/80ed6877-b642-ef11-b4ad-000d3a7aba8b

SMarconetto commented 3 months ago

Hello everyone,

I’ve tried to implement the Power Automate workflow suggested by Microsoft (https://make.preview.powerautomate.com/galleries/public/templates/d271a6f01c2545a28348d8f2cddf4c8f/post-to-a-channel-when-a-webhook-request-is-received).

The issue is that the JSON model currently sent over the WebSocket is not compatible with the model provided by Power Automate

Example

{
  "@type": "MessageCard",
  "@context": "http://schema.org/extensions",
  "title": "Test",
  "text": "Test",
  "themeColor": "d9534f",
  "sections": [
    {
      "title": "Properties",
      "facts": [
        {
          "name": "Level",
          "value": "Error"
        },
        {
          "name": "MessageTemplate",
          "value": "Test"
        }
      ]
    }
  ],
  "potentialAction": []
}

Required (check request body at: https://learn.microsoft.com/en-us/connectors/teams/?tabs=text1%2Cdotnet#example)

{
  "type": "message",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "contentUrl": null,
      "content": {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version": "1.2",
        "body": [
          {
            "type": "TextBlock",
            "text": "For Samples and Templates, see [https://adaptivecards.io/samples](https://adaptivecards.io/samples)"
          }
        ]
      }
    }
  ]
}
claudiopi commented 2 months ago

In our case, got the email of the channel where we were posting via webhooks and ended up using https://github.com/serilog/serilog-sinks-email to send HTML email that provides the same functionality at least for the kind of notifications we are sending (basically text ones).

Maybe is not as instant as using WebHook (1sec vs 5sec delay), but good enough for our cases.

veraw commented 2 months ago

Also required an update to address the warning of the O365 Incoming Webhook. Have created a PR #34 to address this issue.

fernandodilland commented 1 month ago

I have notified the same thing in the main sink (I may be ignored since it will no longer be maintained, but it remains as a record for future developers who may encounter issues at this point from December 2025 onwards).

https://github.com/serilog-contrib/serilog-sinks-teams/issues/17