package
0.195.1
Repository: https://github.com/influxcommunity/flux.git
Documentation: pkg.go.dev

# README

Teams Package

Use this Flux Package to send a message to a Microsoft Teams channel using an incoming webhook. See https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using#setting-up-a-custom-incoming-webhook .

teams.message

message sends a single message to Microsoft Teams via incoming web hook. Arguments:

NameTypeDescription
urlstringIncoming web hook URL.
titlestringMessage card title.
textstringMessage card text.
summarystringMessage card summary, it can be an empty string to generate summary from text.

All text fields can be formatted using basic Markdown .

Basic Example:

import "contrib/sranka/teams"

lastReported =
  from(bucket: "example-bucket")
    |> range(start: -1m)
    |> filter(fn: (r) => r._measurement == "statuses")
    |> last()
    |> tableFind(fn: (key) => true)
    |> getRecord(idx: 0)

teams.message(
  url: "https://outlook.office.com/webhook/12345678-1234-...",
  title: "Disk Usage"
  text: "Great Scott!- Disk usage is: *${lastReported.status}*.",
  summary: "Disk Usage is ${lastReported.status}"
)

teams.endpoint

endpoint function creates a factory function that accepts a mapping function mapFn and creates a target function for pipeline |> operator that sends messages from table rows. The mapFn accepts a table row and returns an object with title, text, and summary as defined in the teams.message function arguments. Arguments:

NameTypeDescription
urlstringIncoming web hook URL.

Basic Example:

import "contrib/sranka/teams"

url = "https://outlook.office.com/webhook/12345678-1234-..."

lastReported =
from(bucket: "example-bucket")
  |> range(start: -1m)
  |> filter(fn: (r) => r._measurement == "statuses")
  |> last()
  |> tableFind(fn: (key) => true)
  |> teams.endpoint(url: url)(mapFn: (r) => ({
          title: "Disk Usage"
          text: "Great Scott!- Disk usage is: **${r.status}**.",
          summary: "Disk Usage is ${r.status}"
        })
     )()

Contact