2.4 KiB
title | description | aliases | menu | weight | v2.0/tags | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
slack.endpoint() function | The `slack.endpoint()` function sends a message to Slack that includes output data. |
|
|
202 |
|
The slack.endpoint()
function sends a message to Slack that includes output data.
Function type: Output
import "slack"
slack.endpoint(
url: "https://slack.com/api/chat.postMessage",
token: "mySuPerSecRetTokEn"
)
Parameters
url
The Slack API URL.
Defaults to https://slack.com/api/chat.postMessage
.
{{% note %}} If using a Slack webhook, you'll receive a Slack webhook URL when you create an incoming webhook. {{% /note %}}
Data type: String
token
The Slack API token
used to interact with Slack.
Defaults to ""
.
{{% note %}} A token is only required if using the Slack chat.postMessage API. {{% /note %}}
Data type: String
Usage
slack.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.
{{% note %}}
You should rarely need to override the default mapFn
parameter.
To see the default mapFn
value or for insight into possible overrides, view the
slack.endpoint()
source code.
{{% /note %}}
Data type: Function
The returned object must include the following fields:
username
channel
workspace
text
iconEmoji
color
For more information, see slack.message()
Examples
Send critical statuses to a Slack endpoint
import "slack"
import "influxdata/influxdb/secrets"
token = secrets.get(key: "SLACK_TOKEN")
e = slack.endpoint(token: token)
crit_statuses = from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
|> e(mapFn: (r) => ({
username: r.username,
channel: r.channel,
workspace: r.workspace,
text: r.text,
iconEmoji: r.iconEmoji,
color: r.color,
})
)()