2.5 KiB
2.5 KiB
title | description | menu | weight | flux/v0/tags | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
teams.endpoint() function | `teams.endpoint()` sends a message to a Microsoft Teams channel using data from table rows. |
|
301 |
|
teams.endpoint()
sends a message to a Microsoft Teams channel using data from table rows.
Usage
teams.endpoint
is a factory function that outputs another function.
The output function requires a mapFn
parameter.
mapFn
A function that builds the object used to generate the POST request. Requires an r
parameter.
mapFn
accepts a table row (r
) and returns an object that must include the following fields:
title
text
summary
For more information, see teams.message
parameters.
Function type signature
(
url: string,
) => (
mapFn: (r: A) => {B with title: C, text: string, summary: string},
) => (<-tables: stream[A]) => stream[{A with _sent: string}]
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
url
({{< req >}}) Incoming webhook URL.
Examples
Send critical statuses to a Microsoft Teams channel
import "contrib/sranka/teams"
url = "https://outlook.office.com/webhook/example-webhook"
endpoint = teams.endpoint(url: url)
crit_statuses =
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
|> endpoint(
mapFn: (r) =>
({
title: "Disk Usage",
text: "Disk usage is: **${r.status}**.",
summary: "Disk usage is ${r.status}",
}),
)()