Basic understanding of Teams Connector

Maciek Chabros 1 Reputation point
2021-05-22T14:42:47.08+00:00

Hello

As a software developer, I work with a set of CI tools, like SonarQube, Jenkins, etc. and I would like to set up notifications from such tools to my organization's MS Teams channel. It was easy to do for Jenkins, because it provides appropriate plugin and Teams connector, but things get more complicated with other tools.

Each of the tools (let's take Sonarqube as an example) is able to send a webhook request to desired URL, with playload in its own format format (for example, defined by the Sonarqube). Now, knowing that MS Teams allows for creating custom connectors which are "richer webhooks", I hoped I would be able to create a Teams connector which accepts requests from Sonarqube with its payloads, transforms the payload to the card format, and raises notification with analysis result in my organization's teams channel. But either it's not how things work, or I am missing something fundamental here.

I've read through documentation, examples, more examples, and all I can see is that I need to host something somewhere, and all a Teams connector does is just embedding a configuration view in its frame, and provides an URL for incoming webhooks which accept payloads only in card format. I cannot see any way to put any logic into Teams which would be able to convert between Sonarqube payload and card format. It seems to me that either:

  • Sonarqube has to send a payload in card format (what is difficult because I cannot modify Sonarqube), or
  • I have to create some kind of a bridge service which accepts payloads from Sonarqube, converts them to card, and sends them to Teams incoming webhook (no real need for a full-fledged connector in such case, I believe).

Modification of Sonarqube might be a challenging task. Creating an intermediate service is in my opinion infeasible, because it creates additional infrastructure dependency which, as I hoped, could be handled by Teams (i.e. Teams could host the logic of translation between payload formats, or at least it's what I hoped Teams applications to be able to do).

My question is: am I getting something wrong, and is it possible for a Teams connector to accept requests in Sonarqube format and send them as cards to Teams channel? Or it's not what connectors (or Teams applications) do and I need to host the translation logic somewhere else (in a bridge service or in Sonarqube itself)?

Thanks, and best regards!

Microsoft Teams Development
Microsoft Teams Development
Microsoft Teams: A Microsoft customizable chat-based workspace.Development: The process of researching, productizing, and refining new or existing technologies.
3,065 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Nikitha-MSFT 541 Reputation points
    2021-06-02T11:01:53.167+00:00

    You can create an incoming web-hook and send messages to your sites. Try if that helps.

    0 comments No comments