content/flux/v0/stdlib/contrib/sranka/webexteams/endpoint.md
webexteams.endpoint() returns a function that sends a message that includes data from input rows to a Webex room.
webexteams.endpoint is a factory function that outputs another function.
The output function requires a mapFn parameter.
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:
roomIdtextmarkdownFor more information, see webexteams.message parameters.
(
token: string,
?url: string,
) => (
mapFn: (r: A) => {B with text: E, roomId: D, markdown: C},
) => (<-tables: stream[A]) => stream[{A with _sent: string}]
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Base URL of Webex API endpoint (without a trailing slash).
Default is https://webexapis.com.
({{< req >}}) Webex API access token.
import "contrib/sranka/webexteams"
import "influxdata/influxdb/secrets"
token = secrets.get(key: "WEBEX_API_KEY")
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses")
|> last()
|> tableFind(fn: (key) => true)
|> webexteams.endpoint(token: token)(
mapFn: (r) =>
({
roomId:
"Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0",
text: "",
markdown: "Disk usage is **${r.status}**.",
}),
)()