slack.endpoint() function
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}]
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"}),
)()
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.