2.5 KiB
title | description | menu | weight | flux/v0/tags | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
slack.endpoint() function | `slack.endpoint()` returns a function that can be used to send a message to Slack per input row. |
|
101 |
|
slack.endpoint()
returns a function that can be used to send a message to Slack per input row.
Each output row includes a _sent
column that indicates if the message for
that row was sent successfully.
Usage
slack.endpoint()
is a factory function that outputs another function.
The output function requires a mapFn
parameter.
mapFn
A function that builds the record used to generate the POST request.
mapFn
accepts a table row (r
) and returns a record that must include the
following properties:
- channel
- color
- text
Function type signature
(
?token: string,
?url: string,
) => (
mapFn: (r: A) => {B with text: D, color: string, channel: C},
) => (<-tables: stream[A]) => stream[{A with _sent: string}]
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
url
Slack API URL. Default is https://slack.com/api/chat.postMessage
.
If using the Slack webhook API, this URL is provided ine Slack webhook setup process.
token
Slack API token. Default is ""
.
If using the Slack Webhook API, a token is not required.
Examples
Send status alerts to a Slack endpoint
import "sampledata"
import "slack"
data =
sampledata.int()
|> map(fn: (r) => ({r with status: if r._value > 15 then "alert" else "ok"}))
|> filter(fn: (r) => r.status == "alert")
data
|> slack.endpoint(token: "mY5uP3rSeCr37T0kEN")(
mapFn: (r) => ({channel: "Alerts", text: r._message, color: "danger"}),
)()