slack.endpoint() function
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
.
If using a Slack webhook, you’ll receive a Slack webhook URL when you create an incoming webhook.
*Data type: String*
token
The Slack API token used to interact with Slack. Defaults to ""
.
A token is only required if using the Slack chat.postMessage API.
*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 record used to generate the POST request. Requires an r
parameter.
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.
*Data type: Function*
The returned record must include the following fields:
channel
text
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) => ({
channel: r.channel,
text: r.text,
color: r.color,
})
)()