Skip to content

cake-contrib/Cake.MicrosoftTeams

Repository files navigation

Cake Microsoft Teams

Cake addin that provides Microsoft Teams aliases

Usage

Simple message

#addin nuget:?package=Cake.MicrosoftTeams

System.Net.HttpStatusCode result = MicrosoftTeamsPostMessage("Hello from Cake!",
    new MicrosoftTeamsSettings {
        IncomingWebhookUrl = EnvironmentVariable("MicrosoftTeamsWebHook")
    });

image

Advanced message

#addin nuget:?package=Cake.MicrosoftTeams

var messageCard = new MicrosoftTeamsMessageCard {
  summary = "Cake posted message using Cake.MicrosoftTeams",
  title ="Cake Microsoft Teams",
  sections = new []{
      new MicrosoftTeamsMessageSection{
          activityTitle = "Cake posted message",
          activitySubtitle = "using Cake.MicrosoftTeams",
          activityText = "Here is the runtime Information",
          activityImage = "https://raw.githubusercontent.com/cake-build/graphics/master/png/cake-small.png",
          facts = new [] {
              new MicrosoftTeamsMessageFacts { name ="CakeVersion", value = Context.Environment.Runtime.CakeVersion.ToString() },
              new MicrosoftTeamsMessageFacts { name ="TargetFramework", value = Context.Environment.Runtime.TargetFramework.ToString() },
              new MicrosoftTeamsMessageFacts { name ="IsCoreClr", value = Context.Environment.Runtime.IsCoreClr.ToString() }
          },
      }
  },
  potentialAction = new [] {
        new MicrosoftTeamsMessagePotentialAction {
            name = "View in Trello",
            target = new []{"https://trello.com/c/1101/"}
        }
   }
};

System.Net.HttpStatusCode result = MicrosoftTeamsPostMessage(messageCard,
  new MicrosoftTeamsSettings {
      IncomingWebhookUrl = EnvironmentVariable("MicrosoftTeamsWebHook")
  });

image

Return values

Response Code Details
OK (200) A well-formed request is sent to an existing webhook. The request contains a valid payload, and has a valid corresponding webhook configuration.
BadRequest (400) An incorrectly-formed request is sent to a webhook that exists. The payload could contain non-parseable JSON, incorrect JSON values (e.g. expected a String, got an array), incorrect content-type, etc..
NotFound (404) A request is sent to a webhook that does not exist.
RequestEntityTooLarge (413) A request is sent to a webhook that is too large in size for processing.
429 (429) Client is sending too many requests and Office 365 is throttling the requests to a webhook.

Disclaimer

This is an early pre-release